正则表达式
- 作用:用于搜索、替换、验证字符串
var str= new RegExp(规则, 修饰)
var str= /规则/修饰
修饰符:g 匹配多个 i 不区分大小写
正则对象:
正则.test(被验证的字符串) 判断字符串是满足指定正则规则 true false
正则.exec(字符串) 在指定字符串匹配指定规则的 子串 返回匹配结果 匹配不到返回null
字符串支持正则:字符串.方法(正则)
match() 找到一个或多个正则表达式的匹配 匹配不到返回null
replace() 替换与正则表达式匹配的子串
search() 检索与正则表达式相匹配的值 返回第一次出现的位置 匹配不到返回 -1
console.log(reg.test(value))
console.log(reg.exec(value))
console.log(value.match(reg))
console.log(value.replace(reg, '*'))
console.log(value.search(reg))
- 具体的字符 直接写上
var reg = /av/gi;
- [...] 匹配其中的任意一个
var reg = /[girl]/g
- [^...] 匹配非其中字符
var reg = /[^abc]/g
- 匹配指定范围
var reg = /[a-f]/g
var reg = /[1-8]/g
var reg = /[a-f1-8]/g
- 预定义
var reg = /./g // . 匹配除换行符以为的所有字符 (\r\n)|(\n)
var reg = /\d/g // 匹配数字
var reg = /\s/g // 匹配空白
var reg = /\w/g // 匹配数字、字母、下划线
var reg = /\D/g // 匹配非数字
var reg = /\S/g // 匹配非空白
var reg = /\W/g // 匹配非数字、字母、下划线
- 量词
var reg = /a{3}/g // {n} 必须重复n次
var reg = /a{3,5}/g // {n,m} 至少重复n次,最多m次
var reg = /a{3,}/g // {n,} 至少重复n次
var reg = /a?/g // 匹配0次或1次 {0,1}
var reg = /a+/g // 匹配至少1次 {1,}
var reg = /a*/g // 匹配执行0次 {0,}
var reg = /\d{4}\/\d{2}\/\d{2}/
- 转义 ' \ '
' \ ' 后的字符无意义
var reg = /\\/g
- 边界
var reg = /^\d/g // ^匹配开头
var reg = /\d$/ g // $匹配结尾
var reg = /[1-9]\d{4,12}/ // 包含只有含有规则字符
var reg = /^[1-9]\d{4,12}$/// 完全匹配
与和或
var reg = /(ab){3}/g // () 同时
var reg = /(a|b){3}/ // | 或