正規表示式,又稱規則表示式。(英語:regularexpression,在**中常簡寫為regex、regexp或re),電腦科學的乙個概念。正規表示式通常被用來檢索、替換那些符合某個模式(規則)的文字。
//判斷字串中是否含有數字
for(
var i =
0; i < str1.length; i++)}
// 使用正規表示式判斷是否含有數字
var reg =
/\d/
; console.
log(reg.
test
(str1)
, str1.
match
(reg)
)
1.字串分為兩種
a.普通字元(元字元之外的字元)
b.元字元,含有特殊意義的字元
+ - * ? [ ] < > <= = 等
2.js中使用正規表示式的前提是必須有正規表示式物件
建立正規表示式物件
兩種方式:
1>使用new例項化正規表示式
new regexp(引數1,引數2);
引數都是字串
引數1 設定匹配原則,匹配的條件
引數2 設定匹配屬性,該引數可選,可填寫:
i 忽略大小寫
g 全域性匹配,結合match使用,預設檢索的時候只會找到第乙個匹配的字串,就返回並結束,如果加上g就返回全域性匹配的字串
text()方法
他是正規表示式物件中的函式
使用方法
reg.test(字串) 判斷字串是否滿足設定的條件,返回的是乙個boolean值
var str2 =
'abc56we'
;var reg1 =
newregexp
('abc'
,'i');
console.
log(reg1.
test
(str2)
)
**2>** 直接宣告正規表示式物件
var reg = /匹配條件/匹配屬性(可選);
此處的匹配條件和匹配屬性都不加引號,也就是都不能寫成字串
var reg2 =
/abc/i
; console.
log(reg2.
test
(str2));
var str3 =
'my god!'
;var reg3 =
/!/;
console.
log(reg3.
test
(str3));
var str4 =
'生當作人傑'
;var reg4 =
/當/;
console.
log(reg4.
test
(str4)
);
\n 換行符
\t 製表符
\r 回車符
\d 代表數字0-9
\d 代表非數字,也就是對\d的取反
\s 空白符(包含了 空格,換行符,製表符,回車符)
\s 代表非空白符,也就是對\s的取反
\w 代表字元(字母(a-z,a-z),數字(0-9),下劃線_)不包含漢字以及特殊字元
\w 代表非字元,對\w進行取反
. 代表了\n \r 之外的任意乙個字元
量詞
如果設定匹配規則的時候沒有新增量詞則僅僅匹配乙個
* 個數 >=0 eg: \d*
+ 個數》=1 eg: \d+
? 個數只能為0個或者為1個
表示個數是n個
表示個數為n到m個
表示個數》=1 等同於 +
表示個數為0個或者為1個 等同於?
var str5 =
`私以 為鬼才`
;var reg5 =
/\t/
; console.
log(reg5.
test
(str5));
var str6 =
'至今 思項羽'
;var reg6 =
/\s/
; console.
log(reg6.
test
(str6));
//量詞測試
var str7 =
'asdf1235343545sdf'
;var reg7 =
/\d/
; console.
log(
'數字'
+reg7.
test
(str7));
var reg8 =
/\d+/
;//表示至少有乙個數字
console.
log(
'數字'
+reg8.
test
(str7)
);
[ ] 匹配括號**現的字元
[^] 表示字串中不能出現括號內的內容,用來判斷字串中有沒有除字串以內的內容,^符號必須在開頭位置,如果放在其他位置,他就是乙個普通字元 eg [^\d] 等同於 \d
var txt = document.
getelementbyid
("txt");
var btn = document.
getelementbyid
("btn");
btn.
onclick
=function()
$/;if(reg.
test
(val)
)else
}var txt1 = document.
getelementbyid
("txt1");
var btn1 = document.
getelementbyid
("btn1");
btn1.
onclick
=function()
\d/;
if(reg.
test
(val)
)else
};
— 一般結合匹配字元使用
a-z:匹配小寫的英文本母
a-z:匹配小寫的英文本母
0-9:匹配所有的數字
漢字的範圍
\u4e00 - \u9fa5
var str9 =
'aa五星紅旗aa'
;var reg9 =
/aa[\u4e00-\u9fa5]/
; console.
log(
'五星紅旗'
+reg9.
test
(str9));
var str10 =
'12asdf45'
;var reg10 =
/\d+[a-z]+/
; console.
log(
'12asdf45'
+reg10.
test
(str10)
);
^ 指定字串的開始位置
$ 指定字串的結束位置
\b 指代字串中 單詞的邊界 \b\w+\b 第乙個\b代表的是單詞的左邊界,第二個\b代表的是單詞的右邊界
var str11 =
'13512345678'
;var reg11 =
/^1[345678][0-9]$/
; console.
log(reg11.
test
(str11)
?'是手機號'
:'不是手機號'
);
|:選擇符
可以選擇|前面或者後面的部分
(): 把括號中的內容進行分組
var str12 =
'aa王者榮耀aa'
;var reg12 =
/(aa|bb|cc)/
; console.
log(reg12.
test
(str12));
var arr=
['三國演義'
,'孫悟空大戰奧特曼'
,'sun'
,'ring'
,'girl'
,'水滸傳'];
var reg0 =
/[\u4e00-\u9fa5]+/
;for
(var i=
0;i)}
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...