命名:
var reg = new RegExp(字符串,规则);
Reg ->regular 规律、规则
Exp ->expression 表达式
简写:
var reg = /正则/规则;
规则:
i - 忽略大小写
m - 多行模式
g - 全局的
转义:\
\d - [0-9] 所有的数字
\w - [a-zA-Z0-9_] 字母数字下划线
\s - [ ] 空格
\D - [^0-9] 非数字
\W - [^a-zA-Z0-9_]
\S - [^ ] 非空格
. - 任意东西
\. - 单纯的.
\\ - 单纯的\
修饰:
^ - 行首(注:在中括号中,是排除的意思)
配合m用,识别字符串的换行
不配合m用,整个字符串的开头
$ - 行尾
| - 或
量词:
{}
{n}- 正好n个
例:/\d{4}/ - 4个
{n,m} - 最少n个,最多m个
例:/\d{3,5}/ - 最少n个,最多5个
{n,} - 最少n个,最多不限
例:/\d{3,}/ - 最少3个,最多不限
+={1,} - 最少一个,最多不限
例:/\d+/ 最少一个,最多不限
*={0,} - 可以没有,有了不限
例:/\d*/
?={0,1} - 可有可无:没有就没有,有就最多一个
例:/\d?/
注:量词只管前面的一个东西
例:/ab+/ 一个a和若干个b abbbb
/(ab)+/ 若干个ab abababab
常用符号:
[]:
1:或
注释:[abc] - /a|b|c/ a或b或c
例:r[abc]g - rag rbg rcg
2:到[-]
注释:[0-9] \d 0到9,所有的数字
[a-z] 所有的小写字母
[A-Z] 所有的大写字母
例:[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:排除[^]
注释:排除
例:[^0-3] 排除0-3
常用正则:
手机号/固话/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})$/
只可以输入数字和'-'
const reg=/^[0-9-]*$/
网友评论