• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            常用正則表達式

            Posted on 2008-09-11 19:13 RichardHe 閱讀(173) 評論(0)  編輯 收藏 引用

            1^\d+$  //匹配非負整數(正整數 + 0) 
            2^[0-9]*[1-9][0-9]*$  //匹配正整數 
            3^((-\d+)|(0+))$  //匹配非正整數(負整數 + 0) 
            4^-[0-9]*[1-9][0-9]*$  //匹配負整數 
            5^-?\d+$    //匹配整數 
            6^\d+(\.\d+)?$  //匹配非負浮點數(正浮點數 + 0) 
            7^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$  //匹配正浮點數 
            8^((-\d+(\.\d+)?)|(0+(\.0+)?))$  //匹配非正浮點數(負浮點數 + 0) 
            9^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //匹配負浮點數 
            10^(-?\d+)(\.\d+)?$  //匹配浮點數 
            11^[A-Za-z]+$  //匹配由26個英文字母組成的字符串 
            12^[A-Z]+$  //匹配由26個英文字母的大寫組成的字符串 
            13^[a-z]+$  //匹配由26個英文字母的小寫組成的字符串 
            14^[A-Za-z0-9]+$  //匹配由數字和26個英文字母組成的字符串 
            15^\w+$  //匹配由數字、26個英文字母或者下劃線組成的字符串 
            16^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$    //匹配email地址 
            17^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$  //匹配url 
            18。匹配中文字符的正則表達式: [\u4e00-\u9fa5] 
            19。匹配雙字節字符(包括漢字在內):[^\x00-\xff]
            20。應用:計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1)
            String.prototype.len
            =function(){return this.replace([^\x00-\xff]/g,"aa").length;} 
            21。匹配空行的正則表達式:\n[\s| ]*\r 
            22。匹配HTML標記的正則表達式:/<(.*)>.*<\/\1>|<(.*) \/>/ 
            23。匹配首尾空格的正則表達式:(^\s*)|(\s*$)

            * 正則表達式用例
              
            * 1^\S+[a-z A-Z]$ 不能為空 不能有空格  只能是英文字母
              
            * 2、\S{6,}         不能為空 六位以上
              
            * 3^\d+$          不能有空格 不能非數字
              
            * 4、(.*)(\.jpg|\.bmp)$ 只能是jpg和bmp格式
              
            * 5^\d{4}\-\d{1,2}-\d{1,2}$ 只能是2004-10-22格式
              
            * 6^0$            至少選一項
              
            * 7^0{2,}$        至少選兩項
              
            * 8^[\s|\S]{20,}$ 不能為空 二十字以上
              
            * 9^\+?[a-z0-9](([-+.]|[_]+)?[a-z0-9]+)*@([a-z0-9]+(\.|\-))+[a-z]{2,6}$郵件
              
            * 10、\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*([,;]\s*\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)* 輸入多個地址用逗號或空格分隔郵件
              
            * 11^(\([0-9]+\))?[0-9]{7,8}$電話號碼7位或8位或前面有區號例如(02287341628
              
            * 12^[a-z A-0-9 _]+@[a-z A-0-9 _]+(\.[a-z A-0-9 _]+)+(\,[a-z A-0-9 _]+@[a-z A-0-9 _]+(\.[a-z A-0-9 _]+)+)*$
              
            *     只能是字母、數字、下劃線;必須有@和.同時格式要規范 郵件
              
            * 13 ^\w+@\w+(\.\w+)+(\,\w+@\w+(\.\w+)+)*$上面表達式也可以寫成這樣子,更精練。
                
            14   ^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$

            匹配中文字符的正則表達式: [\u4e00-\u9fa5]  
            評注:匹配中文還真是個頭疼的事,有了這個表達式就好辦了  
              
            匹配雙字節字符(包括漢字在內):[^\x00-\xff]  
            評注:可以用來計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1)  
              
            匹配空白行的正則表達式:\n\s*\r  
            評注:可以用來刪除空白行  
              
            匹配HTML標記的正則表達式: <(\S*?)[^>]*>.*? ¦ <.*? />  
            評注:網上流傳的版本太糟糕,上面這個也僅僅能匹配部分,對于復雜的嵌套標記依舊無能為力  
              
            匹配首尾空白字符的正則表達式:^\s* ¦\s*$  
            評注:可以用來刪除行首行尾的空白字符(包括空格、制表符、換頁符等等),非常有用的表達式  
              
            匹配Email地址的正則表達式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*  
            評注:表單驗證時很實用  
              
            匹配網址URL的正則表達式:[a-zA-z]+://[^\s]*  
            評注:網上流傳的版本功能很有限,上面這個基本可以滿足需求  
              
            匹配帳號是否合法(字母開頭,允許5-16字節,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$  
            評注:表單驗證時很實用  
              
            匹配國內電話號碼:\d{3}-\d{8} ¦\d{4}-\d{7}  
            評注:匹配形式如 0511-4405222 或 021-87888822  
              
            匹配騰訊QQ號:[1-9][0-9]{4,}  
            評注:騰訊QQ號從10000開始  
              
            匹配中國郵政編碼:[1-9]\d{5}(?!\d)  
            評注:中國郵政編碼為6位數字  
              
            匹配身份證:\d{15} ¦\d{18}  
            評注:中國的身份證為15位或18位  
              
            匹配ip地址:\d+\.\d+\.\d+\.\d+  
            評注:提取ip地址時有用  
              
            匹配特定數字:  
            ^[1-9]\d*$    //匹配正整數  
            ^-[1-9]\d*$   //匹配負整數  
            ^-?[1-9]\d*$   //匹配整數  
            ^[1-9]\d* ¦0$  //匹配非負整數(正整數 + 0)  
            ^-[1-9]\d* ¦0$   //匹配非正整數(負整數 + 0)  
            ^[1-9]\d*\.\d* ¦0\.\d*[1-9]\d*$   //匹配正浮點數  
            ^-([1-9]\d*\.\d* ¦0\.\d*[1-9]\d*)$  //匹配負浮點數  
            ^-?([1-9]\d*\.\d* ¦0\.\d*[1-9]\d* ¦0?\.0+ ¦0)$  //匹配浮點數  
            ^[1-9]\d*\.\d* ¦0\.\d*[1-9]\d* ¦0?\.0+ ¦0$   //匹配非負浮點數(正浮點數 + 0)  
            ^(-([1-9]\d*\.\d* ¦0\.\d*[1-9]\d*)) ¦0?\.0+ ¦0$  //匹配非正浮點數(負浮點數 + 0)  
            評注:處理大量數據時有用,具體應用時注意修正  
              
            匹配特定字符串:  
            ^[A-Za-z]+$  //匹配由26個英文字母組成的字符串  
            ^[A-Z]+$  //匹配由26個英文字母的大寫組成的字符串  
            ^[a-z]+$  //匹配由26個英文字母的小寫組成的字符串  
            ^[A-Za-z0-9]+$  //匹配由數字和26個英文字母組成的字符串  
            ^\w+$  //匹配由數字、26個英文字母或者下劃線組成的字符串  
            "^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+___FCKpd___0quot;    //email地址    
            "^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?___FCKpd___0quot;  //url  

            匹配中文字符的正則表達式: [\u4e00-\u9fa5] 
            評注:匹配中文還真是個頭疼的事,有了這個表達式就好辦了 

            匹配雙字節字符(包括漢字在內):[^\x00-\xff] 
            評注:可以用來計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1) 

            匹配空白行的正則表達式:\n\s*\r 
            評注:可以用來刪除空白行 

            匹配HTML標記的正則表達式: <(\S*?)[^>]*>.*? ¦ <.*? /> 
            評注:網上流傳的版本太糟糕,上面這個也僅僅能匹配部分,對于復雜的嵌套標記依舊無能為力 

            匹配首尾空白字符的正則表達式:^\s* ¦\s*$ 
            評注:可以用來刪除行首行尾的空白字符(包括空格、制表符、換頁符等等),非常有用的表達式 

            匹配Email地址的正則表達式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 
            評注:表單驗證時很實用 

            匹配網址URL的正則表達式:[a-zA-z]+://[^\s]* 
            評注:網上流傳的版本功能很有限,上面這個基本可以滿足需求 

            匹配帳號是否合法(字母開頭,允許5-16字節,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 
            評注:表單驗證時很實用 

            匹配國內電話號碼:\d{3}-\d{8} ¦\d{4}-\d{7} 
            評注:匹配形式如 0511-4405222 或 021-87888822 

            匹配騰訊QQ號:[1-9][0-9]{4,} 
            評注:騰訊QQ號從10000開始 

            匹配中國郵政編碼:[1-9]\d{5}(?!\d) 
            評注:中國郵政編碼為6位數字 

            匹配身份證:\d{15} ¦\d{18} 
            評注:中國的身份證為15位或18位 

            匹配ip地址:\d+\.\d+\.\d+\.\d+ 
            評注:提取ip地址時有用 

            匹配特定數字: 
            ^[1-9]\d*$    //匹配正整數 
            ^-[1-9]\d*$   //匹配負整數 
            ^-?[1-9]\d*$   //匹配整數 
            ^[1-9]\d* ¦0$  //匹配非負整數(正整數 + 0) 
            ^-[1-9]\d* ¦0$   //匹配非正整數(負整數 + 0) 
            ^[1-9]\d*\.\d* ¦0\.\d*[1-9]\d*$   //匹配正浮點數 
            ^-([1-9]\d*\.\d* ¦0\.\d*[1-9]\d*)$  //匹配負浮點數 
            ^-?([1-9]\d*\.\d* ¦0\.\d*[1-9]\d* ¦0?\.0+ ¦0)$  //匹配浮點數 
            ^[1-9]\d*\.\d* ¦0\.\d*[1-9]\d* ¦0?\.0+ ¦0$   //匹配非負浮點數(正浮點數 + 0) 
            ^(-([1-9]\d*\.\d* ¦0\.\d*[1-9]\d*)) ¦0?\.0+ ¦0$  //匹配非正浮點數(負浮點數 + 0) 
            評注:處理大量數據時有用,具體應用時注意修正 

            匹配特定字符串: 
            ^[A-Za-z]+$  //匹配由26個英文字母組成的字符串 
            ^[A-Z]+$  //匹配由26個英文字母的大寫組成的字符串 
            ^[a-z]+$  //匹配由26個英文字母的小寫組成的字符串 
            ^[A-Za-z0-9]+$  //匹配由數字和26個英文字母組成的字符串 
            ^\w+$  //匹配由數字、26個英文字母或者下劃線組成的字符串 
            "^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+___FCKpd___0quot;    //email地址 
            "^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?___FCKpd___0quot;  //urlview plaincopy to clipboardprint? 
            正則幾個基本概念:  

            正則幾個基本概念:view plaincopy to clipboardprint? 
            1.貪婪:+,*,?,{m,n}等默認是貪婪匹配,即盡可能多匹配,也叫最大匹配  
            如果后面加上?,就轉化為非貪婪匹配,需要高版本支持  

            1.貪婪:+,*,?,{m,n}等默認是貪婪匹配,即盡可能多匹配,也叫最大匹配 
            如果后面加上?,就轉化為非貪婪匹配,需要高版本支持view plaincopy to clipboardprint? 
            2.獲取:默認用(x ¦y)是獲取匹配,很多時候只是測試,不一定要求得到所匹配的數據,尤其在嵌套匹配或大數據中就要用非獲取匹配(?:x ¦y),這樣提高了效率,優化了程序。  

            2.獲取:默認用(x ¦y)是獲取匹配,很多時候只是測試,不一定要求得到所匹配的數據,尤其在嵌套匹配或大數據中就要用非獲取匹配(?:x ¦y),這樣提高了效率,優化了程序。view plaincopy to clipboardprint? 
            3.消耗:默認是消耗匹配,一般在預查中是非消耗匹配。  
            舉個例子,2003-2-8要變為2003-02-08  
            如果用/-(\d)-/第二次匹配將從8開始,從而只替換第一個2,錯誤  
            如果用/-(\d)(?=-)/則第二次匹配從第二個-開始,即不消耗字符-  

            3.消耗:默認是消耗匹配,一般在預查中是非消耗匹配。 
            舉個例子,2003-2-8要變為2003-02-08 
            如果用/-(\d)-/第二次匹配將從8開始,從而只替換第一個2,錯誤 
            如果用/-(\d)(?=-)/則第二次匹配從第二個-開始,即不消耗字符-view plaincopy to clipboardprint? 
            4.預查:js中分為正向預查和負向預查  
            如上面的(?=pattern)是正向預查,在任何匹配 pattern 的字符串開始處匹配查找字符串。還有(?!pattern)是負向預查,在任何不匹配 pattern 的字符串開始處匹配查找字符串。負向預查有時會用在對[^]的擴充,[^]只是一些字符,而?!可以使整個字符串。  

            4.預查:js中分為正向預查和負向預查 
            如上面的(?=pattern)是正向預查,在任何匹配 pattern 的字符串開始處匹配查找字符串。還有(?!pattern)是負向預查,在任何不匹配 pattern 的字符串開始處匹配查找字符串。負向預查有時會用在對[^]的擴充,[^]只是一些字符,而?!可以使整個字符串。view plaincopy to clipboardprint? 
            5.回調:一般用在替換上,即根據不用的匹配內容返回不用的替換值,從而簡化了程序,需要高版本支持  

            5.回調:一般用在替換上,即根據不用的匹配內容返回不用的替換值,從而簡化了程序,需要高版本支持view plaincopy to clipboardprint? 
            6.引用:\num 對所獲取的第num個匹配的引用。  
            例如,'(.)\1\1' 匹配AAA型。'(.)(.)\2\1' 匹配ABBA型。  

            6.引用:\num 對所獲取的第num個匹配的引用。 
            例如,'(.)\1\1' 匹配AAA型。'(.)(.)\2\1' 匹配ABBA型。view plaincopy to clipboardprint? 
            正則表達式保留字  
            ^ (carat)    
            . (period)    
            [ (left bracket}    
            $ (dollar sign)    
            ( (left parenthesis)    
            ) (right parenthesis)    
            ¦ (pipe)    
            * (asterisk)    
            + (plus symbol)    
            ? (question mark)    
            { (left curly bracket, or left brace)    
            \ backslash  

            正則表達式保留字 
            ^ (carat) 
            . (period) 
            [ (left bracket} 
            $ (dollar sign) 
            ( (left parenthesis) 
            ) (right parenthesis) 
            ¦ (pipe) 
            * (asterisk) 
            + (plus symbol) 
            ? (question mark) 
            { (left curly bracket, or left brace) 
            \ backslash view plaincopy to clipboardprint? 
            構造 匹配于  

            構造 匹配于 view plaincopy to clipboardprint? 
            字符    
            x 字符 x    
            \\ 反斜線字符    
            \0n 八進制值的字符0n (0 <= n <= 7)    
            \0nn 八進制值的字符 0nn (0 <= n <= 7)    
            \0mnn 八進制值的字符0mnn 0mnn (0 <= m <= 3, 0 <= n <= 7)    
            \xhh 十六進制值的字符0xhh    
            \uhhhh 十六進制值的字符0xhhhh    
            \t 制表符('\u0009')    
            \n 換行符 ('\u000A')    
            \r 回車符 ('\u000D')    
            \f 換頁符 ('\u000C')    
            \a 響鈴符 ('\u0007')    
            \e 轉義符 ('\u001B')    
            \cx T對應于x的控制字符 x  

            字符 
            x 字符 x 
            \\ 反斜線字符 
            \0n 八進制值的字符0n (0 <= n <= 7) 
            \0nn 八進制值的字符 0nn (0 <= n <= 7) 
            \0mnn 八進制值的字符0mnn 0mnn (0 <= m <= 3, 0 <= n <= 7) 
            \xhh 十六進制值的字符0xhh 
            \uhhhh 十六進制值的字符0xhhhh 
            \t 制表符('\u0009') 
            \n 換行符 ('\u000A') 
            \r 回車符 ('\u000D') 
            \f 換頁符 ('\u000C') 
            \a 響鈴符 ('\u0007') 
            \e 轉義符 ('\u001B') 
            \cx T對應于x的控制字符 x view plaincopy to clipboardprint? 
            字符類    
            [abc] a, b, or c (簡單類)    
            [^abc] 除了a、b或c之外的任意 字符(求反)    
            [a-zA-Z] a到z或A到Z ,包含(范圍)    
            [a-z-[bc]] a到z,除了b和c : [ad-z](減去)    
            [a-z-[m-p]] a到z,除了m到 p: [a-lq-z]    
            [a-z-[^def]] d, e, 或 f  

            字符類 
            [abc] a, b, or c (簡單類) 
            [^abc] 除了a、b或c之外的任意 字符(求反) 
            [a-zA-Z] a到z或A到Z ,包含(范圍) 
            [a-z-[bc]] a到z,除了b和c : [ad-z](減去) 
            [a-z-[m-p]] a到z,除了m到 p: [a-lq-z] 
            [a-z-[^def]] d, e, 或 f view plaincopy to clipboardprint? 
            預定義的字符類    
            . 任意字符(也許能與行終止符匹配,也許不能)    
            \d 數字: [0-9]    
            \D 非數字: [^0-9]    
            \s 空格符: [ \t\n\x0B\f\r]    
            \S 非空格符: [^\s]    
            \w 單詞字符: [a-zA-Z_0-9]    
            \W 非單詞字符: [^\w]  

            posts - 94, comments - 138, trackbacks - 0, articles - 94

            Copyright © RichardHe

            香蕉久久夜色精品国产小说| 久久国产高潮流白浆免费观看| 999久久久免费国产精品播放| 大蕉久久伊人中文字幕| 久久AⅤ人妻少妇嫩草影院| 久久久国产视频| 国产成人久久AV免费| 香蕉久久久久久狠狠色| 91视频国产91久久久| 婷婷久久综合九色综合九七| 国产情侣久久久久aⅴ免费| 久久人人爽人人爽AV片| 国产91久久精品一区二区| 久久福利资源国产精品999| 中文字幕亚洲综合久久| 国产亚洲美女精品久久久2020| 国产亚洲精久久久久久无码AV| 亚洲va中文字幕无码久久 | 青草国产精品久久久久久| 精品99久久aaa一级毛片| 国产∨亚洲V天堂无码久久久| 一本久久免费视频| 99久久精品国产一区二区三区| 午夜人妻久久久久久久久| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 久久精品无码免费不卡| 国产成人久久精品区一区二区| 99久久夜色精品国产网站| 性做久久久久久免费观看| 久久黄色视频| 国产亚州精品女人久久久久久 | 精品久久久久一区二区三区| 久久免费线看线看| 国产精品久久国产精麻豆99网站| 久久综合亚洲欧美成人| 一本久久a久久精品vr综合| 18禁黄久久久AAA片| 精品久久久无码21p发布| 亚洲乱码中文字幕久久孕妇黑人 | 大伊人青草狠狠久久| 国产精品久久久久影视不卡|