創(chuàng)建正則表達式
1. 直接創(chuàng)建,用兩個正斜杠包裹
var reg = /test/;
2. 新建正則表達式對象,用字符串方式傳值
var reg = new RegExp("test");
執(zhí)行正則表達式
1. match() 返回查詢到的結(jié)果
str.match(reg)
字符匹配
str.match(/1.3/g); // .可以代替任何(一個)字符(換行符除外)
str.match(/\d/g); // \d 返回數(shù)字 \D返回非數(shù)字
str.match(/\w/g); // \w 返回字母\W返回非字母
str.match(/\s/g); // \s 返回空格顾稀、制表符银择、換行 \S返回非空格
str.match(/\u/g); //\u+unicode返回unicode中的字符
str.match(/[abc]/g);
str.match(/[a-z]/g); // 返回[]中的字符
str.match(/[^0-9]/g); // 返回[]中非數(shù)字的字符
str.match(/[test|abc]/g); // 同時返回test&abc
str.match(/^test/g); // 取開頭的test
str.match(/abc$/g); // 取結(jié)尾的abc
字符出現(xiàn)次數(shù)匹配
str.match(/abc*/g) // *出現(xiàn)零次或多次
str.match(/abc+/g) // *出現(xiàn)一次或多次
str.match(/abc?/g) // *出現(xiàn)零次或一次
str.match(/a{1,2}/g) // {x,y}內(nèi)可以指定出現(xiàn)次數(shù)
2. exec() 返回匹配的結(jié)果
reg.exec(str);
3. test() 返回boolean津坑,是否包括特定值
reg.test(str);
練習(xí)
電話號碼驗證
let phoneValid = /^1[3-9]\d{9}/g;
// ^1表示以1開頭渗饮,[3-9]表示第二位數(shù)字的區(qū)間從3-9,\d{9}表示數(shù)字連續(xù)出現(xiàn)九次
console.log(phoneValid.test('13022005566'));
郵箱驗證
let emailValid = /^[a-z A-Z 0-9 \-_\.]+@\w+\.\w{2,5}/g;
// ^[a-z A-Z 0-9 \-_\.]+ 表示以包含大小寫字母數(shù)字-_.的字符開頭且至少出現(xiàn)一次呆抑,包含@岂嗓,至少出現(xiàn)一次的字母,.點號鹊碍,2-5位的字母
console.log(emailValid.test('abc.ccc@aa.com'))