命名:
var reg = new RegExp(字符串,規(guī)則);
Reg ->regular 規(guī)律、規(guī)則
Exp ->expression 表達(dá)式
簡(jiǎn)寫(xiě):
var reg = /正則/規(guī)則;
規(guī)則:
i -? 忽略大小寫(xiě)
m - 多行模式
g - 全局的
轉(zhuǎn)義:\
\d - [0-9]? 所有的數(shù)字
\w - [a-zA-Z0-9_]? 字母數(shù)字下劃線(xiàn)
\s - [ ]? 空格
\D - [^0-9]? 非數(shù)字
\W - [^a-zA-Z0-9_]
\S - [^ ]? 非空格
. - 任意東西
\. - 單純的.
\\ - 單純的\
修飾:
^ - 行首(注:在中括號(hào)中,是排除的意思)
配合m用,識(shí)別字符串的換行
不配合m用,整個(gè)字符串的開(kāi)頭
$ - 行尾
| - 或
量詞:
{}
{n}- 正好n個(gè)
例:/\d{4}/ - 4個(gè)
{n,m} - 最少n個(gè),最多m個(gè)
例:/\d{3,5}/ - 最少n個(gè),最多5個(gè)
{n,} - 最少n個(gè),最多不限
例:/\d{3,}/ - 最少3個(gè),最多不限
+={1,} - 最少一個(gè),最多不限
例:/\d+/ 最少一個(gè),最多不限
*={0,} - 可以沒(méi)有,有了不限
例:/\d*/
?={0,1} - 可有可無(wú):沒(méi)有就沒(méi)有,有就最多一個(gè)
例:/\d?/
注:量詞只管前面的一個(gè)東西
例:/ab+/? 一個(gè)a和若干個(gè)b? abbbb
/(ab)+/? 若干個(gè)ab? ? abababab
常用符號(hào):
[]:
1:或
注釋?zhuān)篬abc] - /a|b|c/ a或b或c
例:r[abc]g - rag rbg rcg
2:到[-]
注釋?zhuān)篬0-9] \d 0到9,所有的數(shù)字
[a-z]? 所有的小寫(xiě)字母
[A-Z]? 所有的大寫(xiě)字母
例:[1-38]? /1-3|8/? 1到3或8
[1-3-8] /1-3|-|8? 1到3或|或8
[1-34-8]? /1-3|4-8/? 1到3或4到8
3:排除[^]
注釋?zhuān)号懦?/p>
例:[^0-3]? 排除0-3
常用正則:
手機(jī)號(hào)/固話(huà)/400/800
const regTel = /^((0?(13|14|15|18|17)[0-9]{9})|([0-9]{3,4}-)[0-9]{7,8})|((800|400)-[0-9]{3}-[0-9]{4})$/
只可以輸入數(shù)字和'-'
const reg=/^[0-9-]*$/