一、什麼是正規表示式?
正規表示式(regular expression)使用單個字串來描述、匹配一系列符合某個句法規則的字串搜尋模式。
二、語法
/正規表示式主體/修飾符(可選)
eg: var regex = /test/i
注: /test/i是乙個正規表示式;test是正規表示式主體,用於檢索;i是搜尋不區分大小寫的修飾符
常用修飾符:
修飾符描述
i執行對大小寫不敏感的匹配
g執行全域性匹配
m執行多行匹配
三、regexp 物件方法
var str = "hello world"
方法
描述例項
test()
檢索字串中指定的值,存在返回true, 不存在返回false
var regex = /hello/g; console.log(regex.test(str)); //true
exec()
檢索字串種指定的值,返回找到的值, 無該值返回null
var regex = /hello/g; console.log(regex.exec(str)); //[「hello」, index: 0, input: 「hello world」, groups: undefined]
tostring()
返回正規表示式字串
var regex = /hello/g; console.log(regex.tostring()); //hello/g
四、正規表示式的使用
正規表示式通常用於校驗以及搜尋/替換,校驗時通常需要在前後分別加上^和$,以匹配整個待驗證字串;
1)字元類匹配
[…] 查詢方括號之間的任何字元
[^…] 查詢任何不在方括號之間的字元
[a-z] 查詢任何從小寫 a 到小寫 z 的字元
[a-z] 查詢任何從大寫 a 到大寫 z 的字元
[a-z] 查詢任何從大寫 a 到小寫 z 的字元
. 查詢單個字元,除了換行和行結束符
\w 查詢單詞字元,等價於[a-za-z0-9]
\w 查詢非單詞字元,等價於[^a-za-z0-9]
\s 查詢空白字元
\s 查詢非空白字元
\d 查詢數字,等價於[0-9]
\d 查詢非數字字元,等價於[^0-9]
\b 匹配單詞邊界
\r 查詢回車符
\t 查詢製表符
\0 查詢 null 字元
\n 查詢換行符
2)重複字元匹配
匹配前一項至少n次,但不能超過m次
匹配前一項n次或更多次
匹配前一項n次
n? 匹配前一項0次或者1次,也就是說前一項是可選的,等價於
n+ 匹配前一項1次或多次,等價於
n* 匹配前一項0次或多次,等價於
n$ 匹配任何結尾為 n 的字串
^n 匹配任何開頭為 n 的字串
?=n 匹配任何其後緊接指定字串 n 的字串
?!n 匹配任何其後沒有緊接指定字串 n 的字串
五、常用正則校驗
驗證型別
正規表示式
手機號/^0?(13[0-9]
電子郵箱
/^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$/
密碼【6-20位】
/^[@a-za-z0-9!#%^&*.~,]
/固話/0\d-\d/
納稅識別號
/^((\d[0-9a-z])
賬戶名稱【漢字、字母、數字、「-」、「_」的組合】
/[a-za-z0-9_-\u4e00-\u9fa5]$/
身份證正規表示式會識別成腳注,單獨寫在下面
金錢如下所示
正整數如下所示
身份證驗證:
/^[1-9]\d((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d$|^[1-9]\d[1-9]\d((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d([0-9]|x)$/
金額驗證:
/(^[1-9]([0-9]+)?(\.[0-9])?$)|(^(0)$)|(^[0-9]\.[0-9]([0-9])?$)/
正整數【不包含0】的驗證:
/^[1-9]\d*$/
Javascript正規表示式
這段時間學習js,正好遇到了正規表示式。下面通過使用例項介紹一下正規表示式。正規表示式,又稱正規表示法 常規表示法 英語 regular expression,在 中常簡寫為regex regexp或re 電腦科學的乙個概念。正規表示式使用單個字串來描述 匹配一系列符合某個句法規則的字串。在很多文字...
JavaScript 正規表示式
一 什麼是正規表示式 正規表示式 regular expression 是乙個描述字元模式的物件。測試正規表示式 regexp 物件包含兩個方法 test 和exec 功能基本相似,用於測試字串匹配。test 方法在字串中查詢是否存在指定的正規表示式並返回布林值,如果存在則返回true,不存 在則返...
javascript 正規表示式
正規表示式 regexp物件 主要用於表單驗證 1 建立正規表示式 1 var ret pattern pattern是內容,可以是正規表示式的內容,可以是字元或是其他的內容 2 var rag new regexp pattern 括號內可以是雙引號或者單引號 2 正規表示式的exec方法 reg...