正则表达式
正则表达式:专门描述字符串中字符出现规则的表达式
字符集
字符串中的某一位字符有多种备选字时,称为一个字符集,字符的可选范围
字符集内是连续字符时可以简写,如:[123456789] 简写为 [1-9]
预定义字符集
对及其常见的字符集进行简化
字符集 | 预定义字符集 |
---|---|
[0-9] | \d |
[0-9a-zA-Z] | \w |
空格,空白字符 | \s |
量词
如果一个字符集反复连续出现多次,可以用量词进行修饰
格式:字符集{出现的次数}
字符集{n,m} 表示最少n次,最多m次
字符集{n,} 表示最少n次,不设上限
特殊位置暗号
如果字符串其中一部分满足正则表达式,也会使得正则表达式误以为字符串满足规则,因此要告诉开始与结束的位置
开始位置:^
结束位置:$
demo
//匹配手机号
//匹配的值是布尔型
/^1[3-9]\d{9}$/.test(phone.value)
//匹配163邮箱
/^\w{6,16}@163.com$/.test(email.value)
匹配敏感词
replace 替换敏感词
\s* 去除中间的空格
| 多个敏感词用|隔开
g 所有敏感词都进行匹配
i 忽悠敏感词的大小写
demo
//替换敏感词
var str = `
啊啊啊啊我 草
请求卧槽全
aaaaaaaaaaasdWocaowwwwwwww
`
console.log(str.replace(/wocao|卧槽|我\s*草/gi,'**'))
repalce高级用法,替换字符串使用回调函数代替
//首字母大写
var str ='haw aro you?i am fine!and you'
//replace高级用法
console.log(str.replace(/\b[a-z]/g,function(s){
return s.toUpperCase()
}))
去除两端空格
用trim函数去除两端的空格
<script>
var str =' 手机 '
console.log(str)
console.log(str.trim())
</script>
本人练习代码已经全部上传到gitee仓库,点击可以查看