本質:用來記錄文字規則的**(為字串定義規則,為輸入內容定義規則)
表單驗證
隱藏手機號碼
正則構成:由一些普通字元(字母、數字)和元字元(具有特殊意義的字元)組成
正則宣告:沒有規則的正規表示式是沒有意義的
建立正規表示式的兩種方式
<1>通過建構函式定義(內建物件法)
var 變數名 = new reggexp(/表示式/) ;
<2>通過直接量定義(字面量)
var 變數名 = /表示式/ ;
正規表示式的使用:test()方法
有乙個返回值,返回值是bool型別,決定引數是否符合正規表示式
正則內部類(幫我們寫好的工具直接使用)
預定義類(定義好的類,直接使用)
<1>[^\n\r]:除了換行和回車之外的任意字元(「」不行)
<2>\d:[0-9]數字字元
<3>\d:[^0-9]非數字字元
<4>\s:[\t\n\x\0b\f\r]空白字串
<5>\s:非空白字串
<6>\w:單詞字元
<7>\w:非單詞字元
<8>g:全域性替換
<9>i:區分大小寫
負向類(不能是其中的整體/一部分)
中括號內,前面加個元字元^表示進行取反,不是括號裡面的字元(只要有乙個字元是裡面的內容就返回false;內容多了(不是多出來的那部分可以是中括號裡面的內容,但是多出來的一定不能是中括號裡面的內容)/沒有返回true)
注意:^符號是一定要寫在中括號裡面的
範圍類:又是匹配的東西過多,而且型別又相同,全部輸入太麻煩,就可以在中間加個橫線-(只要有字元是這個範圍內的就返回true,不是這個範圍內的就返回false)
組合類:用中括號匹配不同型別的單個字元
簡單類(正則://中什麼特殊符號都不寫,或用加入)
<1>/string/.test(「string」); 必須是完整的,只能多不能少(意思就是前面的//裡面寫了string,後面的test(「」)裡面就必須要包含string,只能多不能少)
例如:console.log(/chaoge/.test("chaoge")) ; //true
console.log(/chaoge/.test("chaogenihao")) ; //true
console.log(/chaoge/.test("chaog")) ; //false
一句話,只要完整包含了andy就可以了(有它就行)
<2>/[string]/.test(「string」); 只要包含裡面的任何乙個字母就可以
/[andy]/.test(「andy」); //true
/[andy]/.test(「an」); //true
/[andy]/.test(「ady」); //true
/[andy]/.test(「anll」); //true
/[andy]/.test(「assd」); //true
/[andy]/.test(「ss」); //false
量詞(重點)
(多個字母,重複最後乙個)
*(貪婪)重負0次/更多(>=0)
à/^a*$/.test(「a」);/^a*$/.test(「aaaaa」);a可以有多個或者是沒有的時候返回的都是true
+(懶惰)重複一次/更多(>=1)
àa有乙個或者是多個返回的都是true
?(占有)重複0次/1次(0||1)
à只有a是乙個或0個的時候返回的才是true
{}重複多少次的意思
à必須是出現n次才返回true(x=n);重複n次/更多次都可以返回true(x>=n);重複出現的次數比n多但比m少才返回true(n<=x<=m)
x|y 乙個| x或y(沒有&,用的是「,」代替&)
()提高許可權,有限計算
à/(abc)|(xyz)/.test(「」)只有任意乙個括號裡面的內容完整了返回的才是true
正則邊界(重點)
^會匹配行/字串的起始位置(注:^在中才表示非!,這裡表示開始)
$會匹配行/字串的結尾位置
^$在一起就表示test(「」)裡面的內容必須是這個(精確匹配),返回的結果才是true,其餘的都是false
例如:/^abc$/:表示的是以abc開頭,以abc結尾
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...