1. 元字符
- 任意字符 .
- \w 字母、数字、下划线
- \s 任意空白字符
- \d 匹配数字,等同于[0-9]
- \D 匹配非数字,等同于[^0-9]
- | 或匹配,如 /x|y/ 正则可匹配 x 或 y 两个字符
- ^ 匹配字符串的开始
- $ 匹配字符串的结束
- [abc] 表示 包含里面的任意一个
2 .反义字符
- [^x] 匹配除“x”之外的所有字符,其中“x”可以为任意字符
- [^xyz] 同上,匹配除“x、y、z”之外的任意字符
3.重复匹配
3.1 ? 重复出现零次或一次
3.2 + 重复出现一次或多次
3.3 * 重复出现零次或多次
3.4 {n} 重复出现 n 次
3.5 {n,} 至少重复出现 n 次
3.6 {m,n} 重复重现 m 到 n 次,其中,m<n
//1.任意字符 要求三个字符var reg1 = /.../var str1 = 'kdghdkh'console.log(reg1.test(str1));//\w 字母 数字 下划线 符合格式var reg2 = /\w\w/var str2 = 'as'console.log(reg2.test(str2));console.log(reg2.test('$a')); //false//3.任意空白字符 无论几个空白格都一样var reg3 = /..\s../console.log(reg3.test('aa bb')); //tureconsole.log(reg3.test('aa bb')); //ture//4.\d代表数字var reg4 = /\d\d\d\d/console.log(reg4.test('45559')); //ture//5.\D 非数字 必须含有非数字 为turevar reg5 = /\d\D\d/console.log(reg5.test('233')); //falseconsole.log(reg5.test('2a1a3')); //ture//6.|匹配或 包含元素为turevar reg6 = /abc|xyz/console.log(reg6.test('ghdlgjdlabckh')); //tureconsole.log(reg6.test('ghdlgjdlxyzkh')); //ture//7. []包含任意一个就可以 [a-z A-Z]匹配所有大小写 [0-9]var reg7 = /[abc]/console.log(reg7.test('aaa')); //trueconsole.log(reg7.test('bbn')); //false//8.[^x] 匹配x以外的 x元素可以是多个 意义相同var reg8 = /[^s]/console.log(reg8.test(('asfd'))) //tureconsole.log(reg8.test(('sss'))) //false//10.^只匹配var reg10 = /^[a-zA-Z]\w\w\w/ //匹配首字符为字母 后接数字 字母 下划线console.log(reg10.test('a_jhdiohkdlhn'));// 11.$ 结束var reg11 = /^1\d\d\d\d\d\d\d\d\d\d$/ //11位数字console.log(reg11.test(14363867466));//12.\x 转义字符var reg12 = /\.com/console.log(reg12.test('acom')); //falseconsole.log(reg12.test('a.com')); //ture//13 .`?`重复出现0次 或者一次var reg13 = /^https?/console.log(reg13.test('http://dlhdllsnh')); //tureconsole.log(reg13.test('https://dlhdllsnh'));//ture//14. + 一次或者多次var reg14 = /a+/ // 至少有一个aconsole.log(reg14.test('aljoigla'));//15 * 重复出现0次 或多次var reg15 = /a*///16. {n}重复出现 n次var reg16 =/^1\d{10}$/// 17. {n,} 至少重复n次var reg17 =/^1\d{10,}///18. {m,n}重复m到n次 m<nvar reg18 =/^1\d{10,20}/console.log(reg18.test(18987767));
