正則表達式

  • 簡單模式
    只能表示具體的匹配
    示例:
			var reg=/china/;
			var reg=/abc8/;
  • 複合模式
    可以使用通配符表達更爲抽象的規則模式
    示例:
			var reg=/^\w+$/;
			var reg=/^\w+@\w+\.((com)|(cn)|(com.cn))$/;
                    // [email protected]      [email protected]   [email protected]
                //  \w+  --》匹配 jkjkp 
  • 區別
正則表達式/^\w?/ 未使用$符號結束 和有$區別
       $代表以該正則表達式結尾的字符串例如 
       abc$只匹配123abc,rtyabc
       如果只是abc的話,那麼123abc456,rtfabcfgh都可以匹配
       加了^ 表示^後面的第一位字符必須匹配的字符串首位相同,不加的話任意順序匹配。
  • 正則表達式符號
		/…/	代表一個模式的開始和結束
		^	匹配字符串的開始
		$	匹配字符串的結束
		\s	任何空白字符
		\S	任何非空白字符
		\d	匹配一個數字字符,等價於[0-9]
		\D	除了數字之外的任何字符,等價於[^0-9]
		\w	匹配一個數字、下劃線或字母字符,等價於[A-Za-z0-9_]
		\W	任何非單字字符,等價於[^a-zA-z0-9_]
		.	除了換行符之外的任意字符
		{n,}	匹配前一項n次,或者多次
		{n,m}	匹配前一項至少n次,但是不能超過m次
		*	匹配前一項0次或多次,等價於{0,}
		+	匹配前一項1次或多次,等價於{1,}
		?	匹配前一項0次或1次,也就是說前一項是可選的,等價於{0,1}
  • 正則表達式的應用
    用戶名、密碼、電子郵箱、手機號碼、身份證號碼、生日、固定電話

  • 常見正則

用戶名:/^[a-zA-Z0-9_-]{3,16}$/

密碼:/^[a-z0-9_-]{6,18}$/

//年 19**|200*|201*   月 01~09|1* 日 1~9|10~29|30|31      2012-09-12   0?[1-9]
//1998-08-13
出生日期:/^((19\d{2})|(200\d)|(201[0-6]))-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/
      
電子郵箱:/^([a-z0-9_\.-]+)@([\da-z-]+)\.((com)|(cn)|(com.cn))$/
          /^\w+@\w+\.((com)|(cn)|(com.cn))$/
            [email protected]
匹配國內電話號碼:(\d{3}-\d{8})|(\d{4}-\d{7})
評註:匹配形式如 0511-4405222 或 021-87888822

匹配身份證:\d{15}|\d{18}  
評註:中國大陸的身份證爲15位或18位   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章