JavaScript正則表達式

JavaScript正則表達式

 

 \d  數字  {2}表示固定2位  .表示任意字符  *表示任意位數 
  (\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2},\\d{3}) \\[.*\\]\\[.*\\] .* - .*";

 

"^"和"$"

通過在正則表達式的開始添加"^"以及末尾添加"$"來表示一個整體。
若不使用它們,那麼正則表達式只匹配某個字符串的部分內容是否符合格式規則,但使用它們,則要求字符串必須從頭到尾都滿足該格式規則。

只能輸入0-9數字

var ckCellNumber = /^[0-9]+$/;

 

只能輸入英文A-Z大小寫都可以 長度4-5位

var c = /^[Aa-z]{3,4}$/;
  if(c.test('adfaf')){
       alert("true");
  }else{
    alert("flase");
}

 

身份證驗證 d表示數字 {15}表示限制15位 |或者的意思 d表示數字 {18}表示限制18位  d|X|x數字加Xx

var ckcardId = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;

 

 [1-9]第一個全是數字,不以0開頭 [0-1]第二個只能0-1的數字  {2,8}2-8位

var i = /^[1-9][0-1]{2,8}$/;

if(i.test('101')){
  alert("true");
}else{
  alert("flase");

}

分組"()","|"  () 可以將內容看做一個整體,()中可以使用"|"來表示或關係。

 驗證國內電話 手機 號碼格式如下 0555-6581752、021-86128488 13435302281
 0555-6581752  [0-9]{3} 只能輸入3位數字, -國內電話-號,  [1-9][0-9]{6}只能輸入1-9數字 只能輸入0-9數字 只能輸入6位
 021-86128488  [0-9]{2} 只能輸入2位數字, -國內電話-號,  [1-9][0-9]{7}只能輸入1-9數字 只能輸入0-9數字 只能輸入7位
 13435302281 [1-9][0-9]{10,10} 只能輸入11位數字 開頭數字 1-9 第2個0-9

var b = /(^0[0-9]{3}-[1-9][0-9]{6}$)|(^0[0-9]{2}-[1-9][0-9]{7}$)|(^[1-9][0-9]{10,10})/;

if(b.test('0555-6581752')){
   alert("true");
}else{
   alert("flase");
}

 

  • \d,匹配單個數字;d 是 digit 這個單詞的縮寫,它的中文意思就是「數字」
  • \w,匹配單個單詞字符,w 是 word 的縮寫,就是字母 a-z,數字 0-9,不包括逗號、句號、加減乘除號、括號等。
  • \s,匹配單個空白字符,s 是 space 的縮寫,就是空白的意思。
  • \n,匹配換行符,n 是 newline 的縮寫,中文就是換行。
  • \r,匹配回車符,r 就是 return 的縮寫,回車在這裏就是它的中文意思。
  • \t,匹配製表符,就是 tab 鍵打出來的一串用以縮進的空白字符,tab 是 tabel 的縮寫,table 就有表格和製表的意思。
  • \b,匹配單詞邊界,b 是 boundary 的縮寫,中文就是邊界的意思。
  • var c = /\w{3,4}$/;
            if(c.test(zengyongbin)){
                alert("true");
            }else{
                alert("flase");
            }
            
        }

 

匹配一個電話號碼,形式如 020-88813243。·

簡單版本,(開頭)三個數字+一個橫槓+八個數字(結尾),就是/^\d{3}-\d{8}$/

需求變化,只匹配 020 開頭的電話號碼,就是/^020-\d{8}$/

需求變化,支持分機,分機爲 5 個數字,加後綴,就是/^020-\d{8}-\d{5}$/

需求變化,電話號碼可以是7個,用區間量詞,就是/^020-\d{7,8}-\d{5}$/

需求變化,有可能沒有分機,用區間量詞,中括號包裹住分機爲一組,後面加個問號,表示0或多個,就是/^020-\d{7,8}(-\d{5})?$/

需求變化,區隔符可能是橫槓,也可能是星號或空格,用集合表達式,就是/^020[-*\s]\d{7,8}([-*\s]\d{5})?$/

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章