javascript基礎(正規表示式)(二十四)
1.正規表示式簡介:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
/*
*
* - 使用者在網頁上瀏覽時,往往需要向伺服器傳送
* 如:使用者名稱 密碼 電子郵件 QQ號 手機號。。。
* - aaaa.com
* - xxxxx@xxxx.com.cn
* - 前邊亂七八糟,後邊一個@,然後再亂七八糟,然後在點,然後再亂七八糟
*
* 正規表示式
* - 正規表示式用來定義一規則,計算機可以根據這些規則
* 來判斷一個字串是否符合規則,或者從一個字串中將符合規則的內容提取出來
*/
//建立一個正規表示式的物件
//語法:var 變數 = new RegExp("正規表示式","匹配模式");
//a這個正規表示式,表示檢查一個字串中是否有a
//在正則的建構函式中,可以傳遞一個匹配模式的字串作為第二個引數
//g 全域性匹配模式 i 忽略大小寫匹配
var reg = new RegExp("abcd","i");
//使用typeof來檢查正則,會返回object
//console.log(typeof reg);
//建立一個字串
var str = "Acb";
/*
* 正規表示式中有一個方法 test()
* 他可以用來檢查一個字串是否符合正規表示式的要求
* 如果符合則返回true,否則返回false
*/
var result = reg.test(str);
console.log(result);
</script>
</head>
<body>
</body>
</html>
2.建立正規表示式方法二:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
//var reg = new RegExp();
/*
* 建立正規表示式方式二:
*
* var 變數 = /正規表示式/匹配模式;
*/
var reg = new RegExp("a","i");
reg = /a/i;
//console.log( reg.test("Abc") );
//建立一個正規表示式,檢查一個字串中是否含有a或b
/*
* | 表示或者
*/
reg = /a|b|c/;
//建立一個正規表示式,表示任意的小寫字母
reg = /a|b|c|d|e|f|h|i|j|k/;
/*
* [] 中括號中的內容也表示或
* [a-z] 任意的小寫字母
* [A-z] 任意字母
* [0-9] 任意數字
*
* [^ ] 表示除了括號中的內容
*/
reg = /[abc]/;
reg = /[a-z]/;
reg = /[A-z]/;
reg = /[0-9]/;
//檢查一個字串中是否含有abc 或 adc 或aec
reg = /abc|adc|aec/;
reg = /a[bde]c/;
//除了小寫字母
reg = /[^a-z]/;
//除了小寫字母和數字
reg = /[^a-z0-9]/;
var result = reg.test("babccdef1");
console.log(result);
</script>
</head>
<body>
</body>
</html>
3.字串和正則相關的方法:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
/*
* split()
* - 可以將一個字串拆分為一個陣列
* - 這個方法中可以傳遞一個正規表示式作為引數,這樣將會根據正規表示式去拆分字串
* - split()拆分字串,無論是否指定全域性匹配,都會全都拆
*/
var str = "a@b@c@d@e";
str = "中abc國adc萬aec歲aec!";
var reg = /a[bde]c/;
var result = str.split(reg);
//console.log(result);
/*
* search()
* - 可以用來搜尋一個字串中是否含有指定內容
* - 如果查詢到了,會返回它第一次出現的索引,如果沒找到則返回-1
* - 也可以接收一個正規表示式作為引數,將會根據正規表示式去字串中查詢內容
* - search()只會匹配第一個,即使加了全域性匹配
*/
str = "hello abc hello how are you aec";
reg = /a[bde]c/g;
//查詢字串中是否有abc 或 adc 或 aec
result = str.search(reg);
console.log(result);
/*
* match()
* - 根據正規表示式將字串中符合要求的內容提取出來
* - 預設情況match()只會匹配到第一個符合條件的內容,
* 如果需要匹配所有的內容,則需要設定全域性匹配模式
* - match()方法會將匹配到的內容封裝到一個陣列中返回,
* 即使只匹配到了一個,也會儲存到陣列中
* - 匹配模式可以不寫,也可以同時寫多個,並且順序不限
*
*/
str = "aBcasdasdadcsdasdaecasdafc";
reg = /a[bdef]c/ig;
result = str.match(reg);
/*
* replace()
* - 可以將字串的指定內容,替換為新的內容
* - 引數:
* 第一個,被替換的內容,可以是一個正規表示式
* 第二個,新的內容
*/
str = "aBcasdasdadcsdasdaecasdafc";
//將字串中的a,替換為 孫悟空
result = str.replace(/a/g,"孫悟空");
result = str.replace(reg,"孫悟空");
//console.log(result);
</script>
</head>
<body>
</body>
</html>
4.正規表示式量詞:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
//建立一個正規表示式,檢查一個字串中是否含有abc
var reg = /abc/;
//建立一個正規表示式,檢查一個字串中是否含有bbb
reg = /b{3}/;
/*
* 量詞
* - 量詞用來表示一個內容出現的次數
* - {n} 正好出現n次
* - {m,n} 出現m-n次
* - {n,} 至少n次
* - + 至少出現1次,相當於{1,}
* - * 0個或多個,相當於{0,}
* - ? 0個或1個,相當於{0,1}
*/
//建立一個正規表示式,檢查一個字串中是否有ababab
reg = /(ab){3}/;
reg = /ab{3}c/;
reg = /ab{1,3}c/;
reg = /ab{3,}c/;
reg = /ab+c/;
reg = /ab*c/;
reg = /ab?c/;
var result = reg.test("abbc");
//console.log(result);
/*
* ^ 表示開頭
* $ 表示結尾
*/
//建立一個正規表示式,檢查一個字串是否以a開頭
reg = /^a/;
//建立一個正規表示式,檢查一個字串是否以a結尾
reg = /a$/;
//使用^開頭 $結尾的正規表示式,必須字串和正規表示式完全匹配才會返回true
reg = /^a$/;
reg = /^a{3}$/;
result = reg.test("aaa");
//console.log(result);
/*
* 檢查一個字串是否是一個有效的手機號
*
* 手機號是11位的純數字
*
* 1 3 567890123
*
* 以1開頭 3-9之間的任意數字 0-9之間的任意數字9個
*
* ^1 [3-9] [0-9]{9}$
*
*/
var phoneReg = /^1[3-9][0-9]{9}$/;
var phone = "17567890123";
console.log(phoneReg.test(phone));
</script>
</head>
<body>
</body>
</html>
5.正規表示式的其他字元補充:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var str = "@";
//建立一個正規表示式,檢查一個字串中是否含有.
var reg = /./;
var result = reg.test(str);
/*
* . 在正則中代表任意字元
*
* 在正規表示式中,可以使用 \ 作為轉義字元
* \. 來表示.
* \\ 表示\
*/
str = "abcbcd";
reg = /\./;
//當使用建構函式來建立正規表示式時,由於它的正則是以字串的形式傳遞的
//而\在字串中也是轉義字串,所以這裡需要使用\\來表示一個
reg = new RegExp("\\.");
str = "abcdefg\\";
reg = /\\/;
reg = new RegExp("\\\\");
//console.log(reg);
result = reg.test(str);
//console.log(result);
/*
* \w
* - 相當於[A-z0-9_]
* - 任意字母數字下劃線
* \W
* - 相當於[^A-z0-9_]
* - 除了字母數字下劃線
* \d
* - 任意數字
* \D
* - 除了數字
* \s
* - 空格
* \S
* - 除了空格
* \b
* - 單詞邊界
* \B
* - 除了單詞邊界
*/
reg = /\w/;
reg = /\W/;
reg = /\d/;
reg = /\D/;
reg = /\s/;
reg = /\S/;
result = reg.test("abc");
//console.log(result);
//建立一個正規表示式,檢查一個字串中是否含有child這個單詞
reg = /\bchild\b/;
result = reg.test("child hello ");
//console.log(result)
//使用者通過頁面輸入一個內容
var username = prompt("請輸入一個使用者名稱:");
/*
* 去除字串中的前後空格
* 實際上就是將字串中的空格替換為空串
*/
console.log(username);
//username = username.replace(/\s/g , "");
//username = username.replace(/^\s*/ , "");
username = username.replace(/^\s*|\s*$/g , "");
//console.log(username);
/*
編寫電子郵件的正規表示式
*/
</script>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
/*
*
* 郵件的正規表示式
* abc .hello @ abc .com .cn
*
* 開頭 字母 數字 下劃線 一位以上 \.任意字母數字下劃線 一位以上 @ 字母數字一位以上 \.字母(2-5位) \.字母(2-5位)
*
* ^\w+ (\.\w+)* @ [A-z0-9]+ (\.[A-z]{2,5}){1,2}$
*
*
*
*/
var emailReg = /^\w+(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/;
var email = "hello.hello@abc.com.cn";
console.log(emailReg.test(email));
</script>
</head>
<body>
<h1>文字</h1>
<p></p>
<a href="#">超連結</a>
<!--我是一個註釋-->
</body>
</html>
相關文章
- JavaScript基礎-06-正規表示式JavaScript
- 正規表示式基礎
- JS基礎:正規表示式JS
- iOS基礎:正規表示式iOS
- 正規表示式基礎一
- bash基礎特性、正規表示式
- shell基礎 — 基本正規表示式
- 正規表示式基礎知識
- 前端基礎之正規表示式前端
- 正規表示式基礎入門
- Python正規表示式基礎Python
- 【JavaScript】正規表示式JavaScript
- javascript正規表示式JavaScript
- javascript–正規表示式JavaScript
- python基礎操作——正規表示式Python
- 正規表示式(一) 基礎知識
- 正規表示式 基礎+使用案例解析
- 正規表示式-基礎實戰篇
- Python基礎之正規表示式Python
- JavaScript正規表示式(2)JavaScript
- JavaScript的正規表示式JavaScript
- 【重溫基礎】9.正規表示式
- PHP基礎系列之正規表示式(一)PHP
- 正規表示式基礎知識總結
- JavaSE基礎:”頭疼”的正規表示式Java
- JavaSE基礎:"頭疼"的正規表示式Java
- JS基礎篇–正規表示式詳解JS
- C#基礎回顧:正規表示式C#
- JavaScript中登入名的正規表示式及解析(0基礎)JavaScript
- JavaScript正規表示式 手冊JavaScript
- 淺談JavaScript正規表示式JavaScript
- JavaScript匹配中文正規表示式JavaScript
- javascript正規表示式總結JavaScript
- 初學JavaScript正規表示式JavaScript
- 16、JavaScript-正規表示式JavaScript
- javascript正規表示式小技巧JavaScript
- JS基礎教程——正規表示式示例(推薦)JS
- Python--之正規表示式一基礎Python