正则表达式
正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
$ 匹配输入字符串的结尾位置
let reg = /8$/i // $ 以8结尾 i忽略大小写
let str = '5465498'
console.log(reg.test(str))//true
^ 匹配输入字符串的开始位置
let reg2 = /^8/i // ^以8开头
let str2 = '85sdaas46549'
console.log(reg2.test(str2))//true
限制8出现3次 //{3}
let reg1 = /^8{3}$/i
let str1 = '888'
console.log(reg1.test(str1))//true
0到8中随机一个数字出现5次 //{5}
let aa = /[0-8]{5}/
let bb = '22222'
console.log(aa.test(bb))//true
let cc= '999'
console.log(aa.test(cc))//false
判断单个数字1或8或6
let aa1 = /[186]/
let bb1 = '1861168'
console.log(aa1.test(bb1)) //true
let bb2 = '222'
console.log(aa1.test(bb2)) //false
当需要检测包含关键字时如 . { } [ ] 要在前面加’ \ '转译一下
let reg6 = /^(\.|\[|\]|\{|\}|\|)$/
let str6 = '{'
console.log(reg6.test(str6)) //true
检测a到z中 ,出现1到5次
let reg7 = /^[a-z]{1,5}$/i //[a-z]是a到z {1,5}是出现1到5次
let str7 = 'aaaa'
console.log(reg7.test(str7))//true
let str72 = 'aaaaaaaa'
console.log(reg7.test(str72))//false
a到z中 ,最少出现2次,最多不限
let reg8 = /^[a-z]{2,}$/i //[a-z]是a到z {2,}是出现2到无数次
let str8 = 'cc'
console.log(reg8.test(str8))//true
? 代表出现0到1次
let reg9 = /^[a-z]?$/i //? {0,1}
let str9 = 'a'
console.log(reg9.test(str9));//true
0到无限次
let reg10 = /^[a-z]*$/i //* 0到无限次
let str10 = 'asdasdsad'
console.log(reg10.test(str10));//true
+ 代表1到无限次
let reg11 = /^[a-z]+$/i //+ 1到无限次
let str11 = 'asdasdsad'
console.log(reg11.test(str11));//true
\w匹配数字 字母 下划线
let reg12 = /^\w+$/i //数字 字母 下划线
let str12 = 'a'
console.log(reg12.test(str12));//true
\d匹配纯数字
let reg13 = /^\d+$/i //\d数字
let str13 = '222'
console.log(reg13.test(str13));//true
\s匹配空格
let reg14 = /^\s+$/i //\s空格
let str14 = ' '
console.log(reg14.test(str14));//true
实例: 验证手机号
let a1 = /^1(83|87|88)\d{8}$/
let b1 = '18812321321'
console.log(a1.test(b1));//true
实例: 验证邮箱
let a = /^\w{0,20}@\w{0,10}\.(com|cn|net|org)$/
let b = '123@qq.com'
console.log(a.test(b));//true