1、备选字符集
var str ="上海,上天,上哪里去";
var reg =/上[海天]/g
console.log(str.replace(reg,"*")); // *,*,上哪里去
var reg = /[上天哪]/g
var str = "上海,上天,上哪里"
console.log(str.replace(reg,"*")); // *海,**,**里
var str = "我去,我草,你这游戏打的太牛逼了"
var reg = /[去草]|牛逼/g
console.log(str.replace(reg,"*")); // 我*,我*,你这游戏打的太*了
var res = "ajkdgkbcj128973489"
var reg = /[0-9]/g
console.log(res.replace(reg,"*")); // ajkdgkbcj*********
var str = "hello"
var reg = /[el]o/g
console.log(str.replace(reg,"*")); // hel*
2、转义字符
var str = "https://www.baidu.com"
var str2 = "http://www.baidu.com"
var reg = /(http|https):\/\/[w]{3}\.baidu\.com/
console.log(reg.test(str));
console.log(reg.test(str2));
3、指定匹配的位置
// 电话
var num = "13897932473123"
var reg = /^1[3-9]\d{9}$/
console.log(reg.test(num));
<input type="text" id="input">
<script>
/* 去除开头结尾的空格 */
var res = []
var reg = /^\s+|\s+$/g;
var input = document.getElementById("input")
input.onkeydown = function(event){
if(event.keyCode == 13){
var str = this.value
res.push(str.replace(reg,""))
console.log(res);
}
}
</script>
4、非
var str = "hello210874"
var reg = /[^a-z]/g
console.log(str.replace(reg,"")); // hello
var str = "<p>我是p标签</p>。<div>我是div</div>"
var reg = /<[^<>]+>/g
console.log(str.replace(reg,"")); // 我是p标签。我是div
var str = "https://movie.douban.com/subject/1292052/"
var reg = /[^\d+]/g
console.log(str.replace(reg,"")); // 1292052
5、表单验证
<input type="text" placeholder="请输入邮箱" id="email">
// 邮箱验证
<script>
var email = document.getElementById("email")
email.onkeyup = function(event){
if(event.keyCode == 13){
var value = this.value.trim()
var reg = /^[\w]+@[0-9a-z]+\.[a-z]+$/
console.log(reg.test(value));
}
}
</script>
// 银行密码 /^\d{6}$/
// 账户密码 以字母开头,后面是数字,数字至少包含5位 /^[a-z]+\d{5,}$/
// 用户名 以字母开头不超过8位 /^[A-z]{1,8}$/
6、处理文本内容
<p id="p">
导演: 弗兰克·德拉邦特 Frank Darabont 主演: 蒂姆·罗宾斯 Tim Robbins /...<br>
1994 / 美国 / 犯罪 剧情
</p>
// 转为 ["1994", "美国", "犯罪 剧情"]
<script>
var p = document.getElementById("p")
var arr = p.innerHTML.trim();
var res = arr.split("<br>")[1].trim().split("/")
// 此时res为数组
var reg = / /g
/* replace为字符串方法,所以需遍历数组中的每一项字符串 */
var str = res.map(item=>{
return item = item.replace(reg,"")
})
console.log(str);
</script>
7、获取数字
var str = "<span>2201239人评价</span>"
var reg = /[^0-9]/g
console.log(str.replace(reg,""));