作用
字符匹配
定義
var reg = /正則表達(dá)式/標(biāo)志
標(biāo)志
-
i
不區(qū)分大小寫 例如:/a/ /a/i "ABC" -
g
全局 -
m
多行
使用方式
- 判斷字符串是否匹配正則表達(dá)式
正則表達(dá)式.test(字符串)
- 從字符串中找出匹配正則表達(dá)式的字符串
正則表達(dá)式.exec(字符串)
語法
1. 字符表示(表示一個字符)
表示 | 含義 | 等價表示 |
---|---|---|
\w |
ASCII字符a-zA-Z_0-9 | [a-zA-Z_0-9] |
\W |
非ASCII字符 | [^a-zA-Z_0-9] |
\s |
空白 | |
\S |
非空白 | |
\d |
數(shù)字0-9 | [0-9] |
\D |
非數(shù)字 | [^0-9] |
[字符] |
匹配任意字符 | |
[ ^字符] |
匹配以外的任意字符 |
2. 重復(fù)表示
表示 | 含義 |
---|---|
{?} |
0次或者1次 |
{+} |
至少1次 |
{*} |
0次或者多次 |
{n} |
匹配n次 |
{n,} |
匹配至少n次 |
{n,m} |
匹配至少n次,至多m次 |
3.選擇表示
表示 | 含義 |
---|---|
l |
選擇 |
4.定位表示
表示 | 含義 |
---|---|
^ |
開始 |
$ |
結(jié)束 |
\b |
單詞邊界 |
\B |
非單詞邊界 |
5.分組
表示 | 含義 |
---|---|
() |
組合到一起 |
舉例
常用正則表達(dá)式
第一個空格
\w*\s
行末空格
\s*$
金額校驗狐粱,精確到2位小數(shù)
^[0-9]+(.[0-9]{2})?$
- 由數(shù)字、26個英文字母或下劃線組成的字符串
^\w+$
- 校驗E-Mail
[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?
- 只能輸入中文
^[\u4e00-\u9fa5]{0,}$
- 15位身份證號碼
^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$
- 18位身份證號碼
^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$
- 校驗13胆数、15肌蜻、18開頭的手機(jī)號
^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$