正则表达式
一、正则表达式的功能:
描述一个字符串的匹配模式,即判断用户输入的内容是否符合设置的规则
二、字面量声明
1、书写格式:
关键字 标识符 赋值符号 /规则/;
let re = / / ;
let re = /a/;
2、使用方式
let str = '1a23';
let re = /a/g;
1、书写格式1:正则.test(字符串);
返回Boolean值,即字符串是否满足正则的规则。
console.log(re.test(str)); // true
2、书写格式2:字符串.match(正则);
返回满足正则的内容
console.log(str.match(re));// [ 'a' ]
str = '1a2a3';
console.log(str.match(re)); // [ 'a', 'a' ]
3、正则大小写敏感
正则大小写敏感(即区分大小写)添加字母 i : insensitive。
str = '1a2a3';
re = /A/g;
console.log(str.match(re)); // null
re = /A/ig;
console.log(str.match(re)); // [ 'a', 'a' ]
手机号正则
1、11位
2、第一位只能是 1
3、第二位取值范围 3——9
4、第三位到第十一位取值范围:0——9
let re = /^[1][3-9][0-9]{9}$/g;
大括号的功能(贪婪匹配)
n和m是量词
书写格式1 {n}
取满足 n 的个数的内容,例如{3}只取满足额为的内容
let str = "12345678901";
let re = /[0-9]{3}/ig;
console.log(str.match(re)); // [ '123', '456', '789' ]
书写格式2 {n,m}
先去取满足m数量的内容,当剩下的数量不满足m,则取m-1的数量内容,直到不满足n的数量为止。
let str = "12345678901";
let re = /[0-9]{1,3}/ig;
console.log(str.match(re)); // [ '123', '456', '789', '01' ]