正则:它就是一个规则,用来处理“字符串”的一个规则(正则就是处理字符串的);
处理: 1) 匹配:判断一个字符串是否符合我们制定的规则->test()方法;
var reg = /\d/; ->包含一个0-9之间的数字
console.log(reg.test("是是2018")); ->有就返回true,没有就返回flase;
2) 捕获:把字符串中符合我们正则规则的内容捕获到->exec()方法;
var reg = /\d/;
console.log(reg.exec("是是2018"));->有就返回它的index值,没有就返回null;
元字符: 每一个正则表达式都是由元字符和修饰符组成的
{元字符} -> 在//之间具有意义的一些字符
1、具体特殊意义的元字符
\:转义字符->转译后面的字符所代表的含义
^:以某一个元字符开始
$:以某一个元字符结尾
\n:匹配一个换行符
.: 除了\n意外的任意字符
var reg = /^0.2$/; ->以0开头,以2结尾,中间可以是除了\n的任意字符,不是小数点
reg = /^0\.2$/; ->以0开头,以2结尾,中间的用到了转义字符,转换成了小数点
():分组 -> 把一个大正则本身划分几个小正则
var reg = /^(\d+)aaa(\d+)$/
x|y: x或者y中的一个
[xyz]:x或者y或者z中的一个
[^xyz]:除了三个中意外的任何一个字符 ^=非
[a-z]:a-z之间的任何一个字符
[^a-z]:除了a-z之间的任何一个字符
\d:一个0-9之间的数字 \D:除了0-9之间的数字以外任何字符
\b:匹配一个边界符 \B:除了一个边界符
\w:数字、字母、下划线中的任意一个字符 -> [0-9a-zA-Z_] \W:相反的含义
\s:匹配一个空白字符 空格、一个制表符->(Tab键)、换页符
2、 代表出现次数的量词元字符
*:出现0到多次
+:出现一到多次
?:出现0次或者一次
{n}:出现n次
{n,}:出现n到多次
{n,m}:出现n到m次
reg = /^\d$/; ->只能是一个0-9之间的数字
console.log(reg.test(""8)); -> ture;
console.log(reg.test("2018")); -> false;
验证手机号的正则:11位数字,第一位是1
var reg = /^1\d{10}$/; ->以1开头后面出现10个数字