1. 正則表達(dá)式
- 最基本的使用場(chǎng)景:例如在一些注冊(cè)賬號(hào)的時(shí)候需要填郵箱、手機(jī)號(hào)的時(shí)候,正則表達(dá)式可以判斷在填手機(jī)號(hào)的時(shí)候,是否是數(shù)字,郵箱規(guī)則是否正確。即表單判斷。
- 含義:是js有個(gè)對(duì)象,通過(guò)一些規(guī)則,對(duì)字符串進(jìn)行匹配,看是否匹配上,可以拿到匹配結(jié)果。
用2種方式創(chuàng)建正則表達(dá)式
2. 創(chuàng)建正則表達(dá)式(2種)
(1) 構(gòu)造函數(shù)
var reg=new RegExp("abc","g")//必須為字符串,第二個(gè)參數(shù)為在匹配過(guò)程中需要遵循某些規(guī)則
(2).字面量
var reg=/abc/g;//如果是字面量,內(nèi)容直接寫在'//'里面,第二個(gè)參數(shù)緊接在后
//在控制臺(tái)顯示/abc/g,這個(gè)不是字符串,是控制臺(tái)對(duì)正則表達(dá)式一個(gè)人性化的展示
最后的g代表全局,還有幾個(gè)修飾符
- g:global,全文搜索,不添加的話搜索到第一個(gè)結(jié)果停止搜索
- i:ingore case,忽略大小寫,默認(rèn)大小寫敏感
- m:multiple lines,多行搜索
3.元字符(在正則表達(dá)式代表特別的意義)
( [ { \ ^ $ | ) ? * + .
| 字符 |
含義 |
| \ |
轉(zhuǎn)義符,如果\后不是特別的字母,\代表的轉(zhuǎn)義的,可以轉(zhuǎn)義元字符;例如'a*'.match(/a*/g);得到的是["a*"] |
| [ ] |
在[ ]代表匹配這個(gè)范圍內(nèi)的的字符。例如[a-g],代表匹配這個(gè)范圍內(nèi)的一個(gè)字符 |
| ^ |
以xxx為開頭,例如/^hello/,必須以hello開頭的 |
| $ |
以xxx的結(jié)尾 |
| [^ ] |
不匹配里面任何字符 |
| . |
除了/r/n所有的字符 |
| \r |
回車符 |
| \n |
換行符 |
| \f |
換頁(yè)符 |
| \v |
垂直制表符 |
| \0 |
空字符 |
量詞
| 字符 |
含義 |
| * |
匹配前面字符0次或多次,等價(jià)于{0,} |
| ? |
匹配前面字符 0次或1次,等價(jià)于{0,1},如果緊跟在任何量詞 *、 +、? 或 {} 的后面,將會(huì)使量詞變?yōu)榉秦澙返模ㄆヅ浔M量少的字符),和缺省使用的貪婪模式(匹配盡可能多的字符)正好相反。 |
| + |
匹配前面字符1次或多次,等價(jià)于{1,} |
| {n} |
匹配n次 |
| {n,m} |
出現(xiàn)n到m次 |
| {n,} |
至少出現(xiàn)n次 |
邊界
| 字符 |
含義 |
| ^ |
以xxx開頭 |
| $ |
以xxx結(jié)尾 |
| \b |
單詞邊界 |
| \B |
非單詞邊界 |
預(yù)定義類
| 字符 |
等價(jià)類 |
含義 |
| . |
[^/r/n] |
除了回車符和換行符之外的所有字符 |
| \d |
[0-9] |
數(shù)字字符 |
| \D |
[^0-9] |
非數(shù)字字符 |
| \s |
[\t\n\x0B\f\r] |
空白符 |
| \S |
[^\t\n\x0B\f\r] |
非空白符 |
| \w |
[a-zA-Z_0-9] |
單詞字符,字母、數(shù)字下劃線 |
| \W |
[^a-zA-Z_0-9] |
非單詞字符 |
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。