常用的正規表示式主要有以下幾種:
匹配中文字元的正規表示式: [/u4e00-/u9fa5]
評注:匹配中文還真是個頭疼的事,有了這個表示式就好辦了
匹配雙位元組字元(包括漢字在內):[^/x00-/xff]
評注:可以用來計算字串的長度(乙個雙位元組字元長度計2,ascii字元計1)
匹配空白行的正規表示式:/n/s*/r
評注:可以用來刪除空白行
匹配html標記的正規表示式:<(/s*?)[^>]*>.*?|<.*? />
評注:網上流傳的版本太糟糕,上面這個也僅僅能匹配部分,對於複雜的巢狀標記依舊無能為力
匹配首尾空白字元的正規表示式:^/s*|/s*$
評注:可以用來刪除行首行尾的空白字元(包括空格、製表符、換頁符等等),非常有用的表示式
評注:表單驗證時很實用
評注:網上流傳的版本功能很有限,上面這個基本可以滿足需求
匹配帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線):^[a-za-z][a-za-z0-9_]$
評注:表單驗證時很實用
匹配國內**號碼:/d-/d|/d-/d
評注:匹配形式如 0511-4405222 或 021-87888822
匹配身份證:(^/d|/d$)
評注:中國的身份證為15位或18位
匹配特定數字:
^[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個英文本母或者下劃線組成的字串
評注:最基本也是最常用的一些表示式
補充說明:
元字元 描述
匹配任何單個字元。例如正規表示式r.t匹配這些字串:rat、rut、r t,但是不匹配root。
匹配行結束符。例如正規表示式weasel$ 能夠匹配字串"he's a weasel"的末尾,但是不能匹配字串"they are a bunch of weasels."。
匹配一行的開始。例如正規表示式^when in能夠匹配字串"when in the course of human events"的開始,但是不能匹配"what and when in the"。
匹配0或多個正好在它之前的那個字元。例如正規表示式.*意味著能夠匹配任意數量的任何字元。
這是引用符,用來將這裡列出的這些元字元當作普通的字元來進行匹配。例如正規表示式/$被用來匹配美元符號,而不是行尾,類似的,正規表示式/.用來匹配點字元,而不是任何字元的萬用字元。
[c1-c2]
[^c1-c2]
匹配括號中的任何乙個字元。例如正規表示式r[aou]t匹配rat、rot和rut,但是不匹配ret。可以在括號中使用連字元-來指定字元的區間,例如正規表示式[0-9]可以匹配任何數字字元;還可以制定多個區間,例如正規表示式[a-za-z]可以匹配任何大小寫字母。另乙個重要的用法是「排除」,要想匹配除了指定區間之外的字元——也就是所謂的補集——在左邊的括號和第乙個字元之間使用^字元,例如正規表示式[^269a-z] 將匹配除了2、6、9和所有大寫字母之外的任何字元。
匹配詞(word)的開始(/<)和結束(/>)。例如正規表示式/將 /( 和 /) 之間的表示式定義為「組」(group),並且將匹配這個表示式的字元儲存到乙個臨時區域(乙個正規表示式中最多可以儲存9個),它們可以用 到 的符號來引用。
將兩個匹配條件進行邏輯「或」(or)運算。例如正規表示式(him|her) 匹配"it belongs to him"和"it belongs to her",但是不能匹配"it belongs to them."。注意:這個元字元不是所有的軟體都支援的。
匹配1或多個正好在它之前的那個字元。例如正規表示式9+匹配9、99、999等。注意:這個元字元不是所有的軟體都支援的。
匹配0或1個正好在它之前的那個字元。注意:這個元字元不是所有的軟體都支援的。//
匹配指定數目的字元,這些字元是在它之前的表示式定義的。例如正規表示式a[0-9]/ 能夠匹配字元"a"後面跟著正好3個數字字元的串,例如a123、a348等,但是不匹配a1234。而正規表示式[0-9]/ 匹配連續的任意4個、5個或者6個數字字元。注意:這個元字元不是所有的軟體都支援的
特殊字元元字元
元字元說明
[/b]
匹配乙個退格字元
/c匹配乙個控制字元
/d匹配任意乙個數字字元,等價於[0-9]
/d/d的反義
/f換頁符
/n換行符
/r回車符
/s匹配乙個空白字元
/s/s的反義
/t製表符
/v垂直製表符
/w匹配任意字母、數字、下劃線。等價於[a-za-z0-9_]
/w/w的反義
/x匹配乙個十六進製制數字
/0匹配乙個八進位制數字
回溯引用和前後查詢
元字元說明
()定義乙個子表示式
/1第乙個子表示式,同理/2表示第2個子表示式。/0通常表示整個正規表示式。
?=向前查詢
?<=
向後查詢
?!負向前查詢
?!=負向後查詢
?()條件(if then)
?()|
條件(if then else)
常見的正規表示式
js正規表示式限制文字框只能輸入數字,小數點,英文本母,漢字等各類 1.文字框只能輸入數字 小數點也不能輸入 1 9 d d d 2.只能輸入數字,能輸小數點.3.數字和小數點方法二 4.只能輸入字母和漢字 5.只能輸入英文本母和數字,不能輸入中文 6.只能輸入數字和英文chun 7.小數點後只能有...
常見的正規表示式
隱式建立正規表示式 var myreg 正規表示式 gi 顯示建立正規表示式 var myreg new reg d gi 其中第乙個 是轉義字元 全域性 g 不區分大小 i 中文字元 u4e00 u9fa5 數字 字母 下劃線 w a z a z,0 9,數字 d 讀取字串的實際佔位字元 x00 ...
常見的正規表示式
表示匹配0 無窮 表示匹配1 無窮 數字 0 9 n位的數字 d 至少n位的數字 d m n位的數字 d 零和非零開頭的數字 0 1 9 0 9 非零開頭的最多帶兩位小數的數字 1 9 0 9 0 9 帶1 2位小數的正數或負數 d d 正數 負數 和小數 d d 有兩位小數的正實數 0 9 0 9...