正規表示式

2021-08-13 18:36:49 字數 2187 閱讀 5608

本質:用來記錄文字規則的**(為字串定義規則,為輸入內容定義規則)

表單驗證

隱藏手機號碼

正則構成:由一些普通字元(字母、數字)和元字元(具有特殊意義的字元)組成

正則宣告:沒有規則的正規表示式是沒有意義的

建立正規表示式的兩種方式

<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正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...