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')); //ture
console.log(reg3.test('aa bb')); //ture
//4.\d代表数字
var reg4 = /\d\d\d\d/
console.log(reg4.test('45559')); //ture
//5.\D 非数字 必须含有非数字 为ture
var reg5 = /\d\D\d/
console.log(reg5.test('233')); //false
console.log(reg5.test('2a1a3')); //ture
//6.|匹配或 包含元素为ture
var reg6 = /abc|xyz/
console.log(reg6.test('ghdlgjdlabckh')); //ture
console.log(reg6.test('ghdlgjdlxyzkh')); //ture
//7. []包含任意一个就可以 [a-z A-Z]匹配所有大小写 [0-9]
var reg7 = /[abc]/
console.log(reg7.test('aaa')); //true
console.log(reg7.test('bbn')); //false
//8.[^x] 匹配x以外的 x元素可以是多个 意义相同
var reg8 = /[^s]/
console.log(reg8.test(('asfd'))) //ture
console.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')); //false
console.log(reg12.test('a.com')); //ture
//13 .`?`重复出现0次 或者一次
var reg13 = /^https?/
console.log(reg13.test('http://dlhdllsnh')); //ture
console.log(reg13.test('https://dlhdllsnh'));//ture
//14. + 一次或者多次
var reg14 = /a+/ // 至少有一个a
console.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<n
var reg18 =/^1\d{10,20}/
console.log(reg18.test(18987767));