JavaScript的正則解讀
阿新 • • 發佈:2020-12-15
技術標籤:js
正則表示式
正則表示式是用來表達字串的規格和模式的,可以用來判斷字元是否符合用途和規則,比如驗證郵箱
驗證手機號等
建立正則表示式
字面量建立正則表示式,斜槓中間寫條件
var str=//;
RegExp建立正則表示式,以字串的形式寫條件
var re=new RegExp('wh')
執行正則表示式
//傳遞一個變數,需要執行正則判斷的資料,返回正則匹配到的內容
str.exec(value)
//傳遞一個變數,需要執行正則判斷的資料,返回true或者false
str.test(value)
正則表示式匹配字元含義
在//之後加g代表全域性搜尋
var str = //g;
匹配h
/h/
匹配th和帶s的所有字元,.號代表可以使任意一個字元
/th.s/
數字0-9 變成大寫則相反
\d
大小寫字元和數字和下劃線 變成大寫則相反
\w
匹配空格 變成大寫則相反
\s
匹配中文需要中文的unicode碼
出現0次或者多次,不能匹配換行符,不能匹配換行後的字元
*
出現1次或多次,至少出現一次
+
出現1次或0次
?
精確的出現了幾次
{2}
出現1-3次,超過3次則繼續查詢並返回
{1,3}
至少出現一次
{1,}
匹配a-z得字元
a-z A-Z 0-9
不匹配字元 不匹配0-9必須放到區間裡面,如果不放裡面就是開頭的意思,必須以什麼開頭
^ [^0-9]
字串的結尾, 以什麼結尾
$
邊界代表這字元旁邊的空格
\b
如果需要匹配特殊字元需要轉義
\- 匹配中劃線
或者的意思
|
//字串的match方法,接受一個正則表示式,會把匹配到的結果返回回來
str.match()
正則表示式的區間,邏輯,界定符
正則表示式的區間是指在這個區間內查詢
/[value]/
分組匹配 匹配第一個帶有th的單詞和最後一個th中間的內容,最後一個th後面的th後面的字元不在顯示
(th).*(th)
常用的正則表示式
手機號驗證
/^1[3-9]\d{9}/g
郵箱驗證
/^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2 ,5})$/g
使用者名稱驗證
/^[a-zA-Z][a-zA-Z0-9_]{5,14}$/g
字串替換
replace方法第一個引數也可以傳正則進行替換
replace('查詢','替換')
split支援正則替換
split(正則,替換內容)