1.正则的介绍:
正则也是个对象: var reg = new RegExp();
A..正则字面量写法: var reg = /男/;中间就是要匹配的对象
B.正则有个test方法,它返回的是布尔类型的(true或false),用来判断是否存在
eg: var reg = /花/;
console.log(reg.test('小花')); // 返回的就是true
console.log(reg.test('哈哈')); // 返回的就是false
2.预定义类:(就是系统定义好了的特殊符号,用来表示对应的意思)
A. 点(.):表示判断内容是否含有\r\n以外的字符
eg:
console.log(/./.test('\r'));// true
console.log(/./.test('o'));// false
B.\d:表示只要是数字(0-9)
console.log(/\d/.test('200321'));// true
console.log(/\d/.test('abc'));// false
C.\D:表示只要非数字(除0-9之间的数)
console.log(/\D/.test('200321'));// false
console.log(/\D/.test('abc'));// true
D.\s:表示不可见字符(eg:\t,\n,\r,空格)
console.log(/\s/.test('\t'));// true
console.log(/\s/.test('abc'));// false
E.\S:表示可见字符
console.log(/\S/.test('200321'));// true
console.log(/\S/.test('\t'));// false
F.\w:表示单词字符(字母、数字、下划线)
console.log(/\w/.test('abc00_'));// true
console.log(/\w/.test('@'));// false
G.\W:表示非单词字符(除了字符,数字,下划线以外的)
console.log(/\W/.test('abc00_'));// false
console.log(/\W/.test('@'));// true
3.自定义类:(就是自己写的一套规则)
eg:
var a = /abc/;
console.log(a.test('aabbcc'));// false;
console.log(a.test('abcdes'));// true;
4.或和优先级:
A.或用:|表示
var a = /hello|world/;
console.log(a.test('helloorld'));// true
console.log(a.test('hell'))// false
B.优先级用: ()表示,优先级会先返回括号里面的结果
console.log(/hell(o|w)orld/.test("helloorld")); //true
console.log(/hell(o|w)orld/.test("hewold")); //false
5.简单类:用[]表示:代表只要出现在括号中的任何一个都算匹配
console.log(/[abc]/.test("a")); //true
console.log(/[abc]/.test("world")); //false
6.负向类:用[^]表示:不能有这里面的这些
console.log(/[^abc]/.test("a")); //false
console.log(/[^abc]/.test("world")); //true
7.组合类:表示把多个条件组合到一起
console.log(/[a-m1-5]/.test("65666"))//true
console.log(/[a-m1-5]/.test("6666")) //false
8.边界类:以^开始,以$结束
9.严格匹配: /^匹配规则$/,中间符合规则只能出现一次,不能有其他东西
10.量词:
A."*":表示可以匹配0次到N次
B."+":表示可以匹配到至少一次到N次
C."?":表示可以匹配到0次到1次