var reg=new RegExp("a","i");
var reg=/a/i;
遇到特殊符号要使用反斜杠“\”进行转义
特殊符号
! $ ^ * + = | . ? \ / ( ) { } [ ]
特殊字符
o t n v f r xnn uxxxx cX
字符类
代码/语法 | 说明 |
---|---|
\w | 匹配任何ASCII单字符[a-zA-Z0-9_] |
\W | 匹配任何ASCII单字符之外的字符 |
\s | 匹配任何Unicode空白符 |
\S | 匹配任何Unicode空白符之外的字符 |
\d | 匹配任何数字[0-9] |
\D | 匹配任何数字之外的字符 |
[...] | 匹配方括号中的所有字符 |
[^...] | 匹配非方括号中的所有字符 |
注:当^在正则表达式的最前一个字符时,表示匹配字符串的开头。当^在【】中时,表示“非”,也就是“取反”的意思。
重复类
代码/语法 | 说明 |
---|---|
{n} | 匹配前一项n次 |
{n,} | 匹配前一项至少一次,至多不限 |
{n,m} | 匹配前一项至少n次,至多m次 |
{ ?} | 匹配前一项0次或者1次 |
{ + } | 匹配前一项至少一次 |
{ * } | 匹配前一项0次或者多次 |
分隔符
| :分隔可以用来选择的文字
定位符
^ | 匹配字符串的开头 |
$ | 匹配字符串的结尾 |
\b | 匹配一个单词的边界 |
\B | 与\b相反,匹配一个非单词边界 |
分组
(...) 将几个项目组合成一个单元
(?...)与(...)类似,只是不记忆与该组合所匹配的内容
标志
i 不区分大小写
g 全局匹配
m 执行多行匹配
正则表达式对象的方法
exec() 执行正则表达式的匹配,返回一个数组
test() 测试正则表达式的匹配,返回布尔值
toSource() 返回RegExp对象的源代码
toString() 将RegExp对象转换成字符串
补充:
. 任意一个字符
用过的正则表达式:
小于6位,只能为中文的姓名:/^[\u4e00-\u9fa5]{1,6}$/
100以内的有效年龄:/^[0-9]{1,2}$/
小于25位,只能包含中文、字母或数字的文字:/^[\u4e00-\u9fa5a-zA-Z0-9]{1,25}$/
邮编:/^[1-9][0-9]{5}$/
手机号:/^((13[0-9])|(14[0-9])|(15[0-9])|(17[0-9])|(18[0-9]))[0-9]{8}$/
体重:/^[0-9][0-9.]*[0-9]$/
小于6位,只能包含中文、字母或数字的用户名:/^[\u4e00-\u9fa5a-zA-Z0-9]{1,6}$/
6到16位,且只包含字母、数字或'.'的密码:/^[A-Za-z0-9.]{6,16}$/
验证码:/^[a-zA-Z0-9]{6}$/