1.正则的概念
用于匹配一个字符串妈祖某种规则(即正则表达式)
2.正则的创建
var a = /abc/
var a =new RegExp(' abc ')
3.正则的元字符
\d:表示一位数字
\D:表示一位非数字
\w:表示一位数字,字母下划线中的任意一个
\W:表示一位非(数字,字母下划线)中的任意一个
\s:匹配空白字符(空格)
\S:非空白
. \:任意字符(非换行)
如果指向匹配.是true
\. :匹配 .
\\:匹配\
var reg = /\d/;
判断字符串中是否包含一位数字
console.log(reg.test('abcfgasa')); //false
console.log(reg.test('abcfgasa1')); //true
console.log(reg.test('abcfgasa12')); //true
var reg1 = /\D/;
console.log(reg1.test('abcfgasa')); //true
console.log(reg1.test('abcfgasa1')); //true
console.log(reg1.test('abcfgasa12')); //true
console.log(reg1.test('1221212112')); //false
var reg2 = /\w/; //一位 数字,字母,下划线中的任意一个
console.log(reg2.test('ahn')); //true
console.log(reg2.test('_')); //true
console.log(reg2.test('%')); //false
console.log(reg2.test('W')); //true
console.log(reg2.test('=')); //false
console.log(reg2.test(']')); //false
console.log(reg2.test('0')); //true
var reg3 = /\W/; //一位非数字,非字母,非下划线中的任意一个
console.log(reg3.test('ahn')); //false
console.log(reg3.test('_')); //false
console.log(reg3.test('%')); //true
console.log(reg3.test('W')); //false
console.log(reg3.test('=')); //true
console.log(reg3.test(']')); //true
console.log(reg3.test('0')); //false
var reg4 = /\s/; // 一位空白字符
console.log(reg4.test("dfgh usaj")); //true
console.log(reg4.test('dfghusaj')); //false
var reg5 = /./; //任意字符
console.log(reg5.test('ga'));
console.log(reg5.test('='));
console.log(reg5.test('-'));
console.log(reg5.test('-0'));
console.log(reg5.test('.'));
console.log(reg5.test('/'));
console.log(reg5.test(';'));
console.log(reg5.test('.'));
var reg6 = /\./; //任意字符
console.log(reg6.test('ga'));
console.log(reg6.test('='));
console.log(reg6.test('-'));
console.log(reg6.test('-0'));
console.log(reg6.test('/'));
console.log(reg6.test(';'));
console.log(reg6.test('.'));
4.正则的限定符
* :匹配0次或多次(出现0次,或者1次,或者多次都行)
+ :匹配1次或者多次
? :匹配0次或者1次
{n} :匹配正好n次
{n,m} :匹配n-m次
{n,} :匹配n次以上
var reg1 = /^\d{3}$/;//任意3个数字
console.log(reg1.test('abc'));
console.log(reg1.test('123'));
console.log(reg1.test('1234'));
console.log(reg1.test('12'));
console.log('----------------');
var reg2 = /^\w{2,}$/;//正好2个以上的任意数字,字母下划线
console.log(reg2.test('abc'));
console.log(reg2.test('a78fr762hsd'));
console.log(reg2.test('a7_-'));
console.log(reg2.test('a'));
console.log(reg2.test('a7_|'));
console.log(reg2.test('a7_['));
var reg2 = /^\w{2,4}$/;//正好2个以上的任意数字,字母下划线
console.log(reg2.test('abc'));
console.log(reg2.test('a7_8'));
console.log(reg2.test('a'));
console.log(reg2.test('a78fr762hsd'));
console.log(reg2.test('a7_|'));
console.log(reg2.test('a7_['));
console.log('-------------');
var reg4 = /^\d*$/;
console.log(reg4.test('abc'));
console.log(reg4.test('123'));//true
console.log(reg4.test(''));//true
console.log(reg4.test('3id'));
console.log('----------');
var reg5 = /^\d+$/;
console.log(reg5.test('abc'));
console.log(reg5.test('123'));//true
console.log(reg5.test(''));
console.log(reg5.test('3id'));
console.log('----------');
var reg6 = /^\d?$/;
console.log(reg6.test('abc'));
console.log(reg6.test('123'));
console.log(reg6.test('')); //true
console.log(reg6.test('3id'));
5.正规的边界符
^:以....开始
$:以...结束
var reg = /^ab/; //符合以ab开头的字符串
var reg2 = /ab$/; //符合以ab开头的字符串
console.log(reg.test('abashsahasj')); //true
console.log(reg.test('sabashsahasj')); //false
console.log(reg2.test('abashsahasj')); //false
console.log(reg2.test('sabashsahasj')); //false
console.log('-----------------');
var reg3 = /^abc$/; //必须是只有abc的才符合
console.log(reg3.test('abcbbhahabc')) //false
console.log(reg3.test('abc')) //false
console.log(reg3.test('abchhd')) //true
console.log(reg3.test('hhdabc')) //false
console.log(reg3.test('abcabc')) //false
var reg4 = /^\d$/; //任意一位数字
console.log(reg4.test('abc')) //false
console.log(reg4.test('1212')) //false
console.log(reg4.test('1')) //true
console.log(reg4.test('4')) //true
6.正则的边界符
[0-9]:匹配[ ]中的任意一个
[^0-9]:匹配[ ]中的任意一个非小写字母
-: a-z(abc...z) 0-9(0,1,2,3,,,9) A-Z(A,B,C,D。。)
(): abc{2}--》c出现2次 (abc){2} (abc)整体出现两次
| 或者 a|b 就是a或者b
{}: {n} {n,m}
var reg = /^ab/; //符合以ab开头的字符串
var reg2 = /ab$/; //符合以ab开头的字符串
console.log(reg.test('abashsahasj')); //true
console.log(reg.test('sabashsahasj')); //false
console.log(reg2.test('abashsahasj')); //false
console.log(reg2.test('sabashsahasj')); //false
console.log('-----------------');
var reg3 = /^abc$/; //必须是只有abc的才符合
console.log(reg3.test('abcbbhahabc')) //false
console.log(reg3.test('abc')) //false
console.log(reg3.test('abchhd')) //true
console.log(reg3.test('hhdabc')) //false
console.log(reg3.test('abcabc')) //false
var reg4 = /^\d$/; //任意一位数字
console.log(reg4.test('abc')) //false
console.log(reg4.test('1212')) //false
console.log(reg4.test('1')) //true
console.log(reg4.test('4')) //true