js正则使用
定义正则表达式
- 字面量创建
var reg = /abc/;
- 构造函数创建
var reg = new RegExp('abc');
正则里面的符号
-
元字符
1).
匹配所有;只要不是空,都返回true
2)\
转义字符;把有意义的符号转成没意义的如(/\\/
=>\
,/\-/
=>-
),把没意义的字符转成有意义的字符(如n
=>/\n/
换行符=>u
=>/\u/
unicode编码)
3)\s
匹配空白字符(空格、制表符)
4)\S
匹配非空白字符
5)\w
匹配数字字母下划线
6)\W
匹配非数字字母下划线
7)\d
匹配0到9之间的数字(注意有些情况不包含0,要用[1-9])
8)\D
匹配非数字 -
限制符
1)?
最少0次,最多1次
2)+
最少1次,最多无限次
3)*
最少0次,最多无限次
4){n}
出现固定n次
5){n,}
出现最少n次,最多无限次
6){n,m}
出现最少n次,最多m次 -
边界符
^$
;以什么开头,以什么结尾,也可以只用一个 -
特殊
1)()
限定一组元素
2)[]
字符集合
3)[^]
反字符集合,匹配在这个集合之外的
4)-
表示范围a-z
A-Z
0-9
5)|
或;/a|b/
/^ab|cd$/
匹配以ab开头或以cd结尾的
常用的正则表达式
- 中文汉字
var reg = /[\u4e00-\u9fa5]/;
- 邮箱验证
var reg = /^\w+@[a-z\-A-Z0-9]+\.(com|cn|net|com\.cn)$/;
- 电话号码判断
var reg = /^0[0-9]{2,3}\-[1-9]\d{4,7}/;
- 含浮点数的正数
var reg = /^(0|([1-9]\d*))(\.\d+)?$/;
- 含浮点数的数字
var reg = /^(\-?(0|([1-9]\d*)))(\.\d+)?$/;
- 含浮点数的数字 (小数位限6位)
var floatNumber_6 = /^(0|([1-9]\d*))(\.[0-9]{1,6})?$/;