正则表达式
正则:正确的规则
- 什么是正则表达式
- 为什么要使用正则表达式
正则表达式(regular expression)是一个描述字符规则的对象。如:只能出现字母,只能出现数字,前三个必须是数字等。
前端往往有大量的表单数据校验的工作,采用正则表达式会使得数据校验的工作量大大减轻,如邮箱验证,手机号码,等等。比起用字符串的函数来判断简单,易用。
正则表达式的组成:普通字符 或者 特殊字符
定义:
1.字面量
var reg = /普通字符或者特殊字符/修饰符
2.构造方法
var reg = new RegExp(“a”,“i”);
console.log(reg.test(“a”));
var reg = new RegExp("\d");
console.log(reg.test(“1”));
正则中的特殊字符:
单个字符:
^:正则开始
$ : 正则结束
. : 元字符, 表示任意一个字符
\. : 表示转义字符 \.表示.
+: 表示其前面紧挨着的字符至少出现1次 等价{1,}
* :表示其前面出现的字符至少出现过0次 等价{0,}
?: 表示其前面出现的字符至少出现过0次,至多1次 等价{0,1}
| : 表示或者
组合字符:
\d : 0-9之间的任意一个数字 \d只占一个位置
\D : 除了\d
\w : 数字,字母 ,下划线 0-9 a-z A-Z _
\W : 除了\w
\s : 空格或者换行符等
\S : 除了\s
括号:
{m,n}表示括号前面紧挨着的字符至少出现m个,至多出现n个 : 以b开头 至少3个a 至多5个a /^ba{3,5}&/
{m}表示括号前面紧挨着的字符只能出现m个
{m,}表示括号前面紧挨着的字符至少出现m个
[] 表示括号内的任意一个字符
[wd3h]
[a-z]表示任意一个小写字母 [a-zA-Z0-9]
[^ ]表示非括号内的任意一个字符
()一般与或连用 表示优先级
[\u4e00-\u9fa5] 任意一个中文字符