正則運算式規則
| 運算式 | 描述 |
|---|---|
| [0-9] | 查找任何從 0 至 9 的數字,例如,匹配: '111' ,不匹配:'eee' |
| [abc] | 查找方括號之間的任何字符,例如,/[123]/ 匹配 "1234567" 中的 "123","1" 中的 "1",但是不匹配 "4567890", |
| [^abc] | 查找任何不在方括號之間的字符,例如,/[^123]/ 匹配 "4567890" 中的 "4567890",但是不匹配 "1"、"2"、"3、"123"等, |
| [a-z] | 查找任何從小寫 a 到小寫 z 的字符,例如,/[a-z]/ 匹配任意小寫字符, |
| [A-Z] | 查找任何從大寫 A 到大寫 Z 的字符,例如,/[A-Z]/ 匹配任意大寫字符, |
| [A-z] | 查找任何從大寫 A 到小寫 z 的字符,例如,/[A-z]/ 匹配任意小寫大寫字符, |
| (a) | 查找任何指定的選項,例如,/(a)/匹配"a", |
| \d | 查找數字,相反的是\D查找非數字字符, |
| \s | 查找空白字符,相反的是\S查找非空白字符, |
| \uxxxx | 查找以十六進制數 xxxx 規定的 Unicode 字符, 比如/[1]/匹配任意中文 |
| 'n{X}' | 匹配包含 X個 n 的序列的字串, 比如/[2]{2,4}/匹配2-4字的中文,一般符合姓名規則 |
| ^n | 匹配任何開頭為 n 的字串, 比如/^1/匹配以1開頭的任意字串 |
| ?=n | 匹配任何其后緊接指定字串 n 的字串, 比如/(?=(1))/匹配'331' |
| ?!n | 匹配任何其后沒有緊接指定字串 n 的字串, 比如/(?!(1))/匹配'33' |
| n$ | 匹配任何結尾為 n 的字串, 比如/\d$/匹配'111', 但不匹配: 'eee' |
常用正則運算式
手機號
/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
這個就是以1開頭,然后第二位是[3456789],第三位和第二位關聯對應的數字,后面8位是數字就可以了
中文姓名
/^[\u4e00-\u9fa5]{2,4}/
這個就是2-4位的中文
座機號碼
/^(0\d{2,3})-?(\d{7,8})$/
這個就是第一位是0,后面可能是2或3位數字,之后-后面是7或者8位數字
郵政編碼
/^[1-9]\d{5}$/
這個就是[1-9]開頭的數字,然后后面5位任意數字
了解清楚正則運算式規則,就可以很方便查找到需要的字符,然后可以任意查詢、替換等操作,
支持正則運算式的 String 物件的方法
| 方法 | 描述 |
|---|---|
| search | 檢索與正則運算式相匹配的值, |
| match | 找到一個或多個正則運算式的匹配, |
| replace | 替換與正則運算式匹配的子串, |
| split | 把字串分割為字串陣列, |
舉例
search方法
'123eee33ZZxx'.search(/[A-z]/) //查找大小寫字符,回傳索引3
match方法
'123eee33ZZxx'.match(/[A-z]/g) //全域找到大小寫字符,回傳e,e,e,Z,Z,x,x
replace方法
'123eee33ZZxx'.replace(/\d/, '') //替換數字,回傳23eee33ZZxx
'123eee33ZZxx'.replace(/\d/g, '') //全域替換數字,回傳eeeZZxx
split方法
'123eee33ZZxx'.split(/\d/) //以數字來分割字串,回傳'','','','eee','','ZZxx'
\u4e00-\u9fa5 ??
\u4e00-\u9fa5 ??
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/555398.html
標籤:JavaScript
上一篇:TS中, Array.reduce提示沒有與此呼叫匹配的多載?
下一篇:返回列表
