Javascript 正規表示式

2021-09-23 10:25:14 字數 2368 閱讀 8546

一、什麼是正規表示式?

正規表示式(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...