1. 程式人生 > 其它 >JavaScript的正則解讀

JavaScript的正則解讀

技術標籤: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(正則,替換內容)