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="app">
导演: 弗兰克·德拉邦特 Frank Darabont 主演: 蒂姆·罗宾斯 Tim Robbins /...<br>
1994 / 美国 / 犯罪 剧情
</p>
<script>
// var arr = [1994,"美国","犯罪 剧情"]
/* 1.获取内容,去除字符串前后尾的空格 */
var txt = document.getElementById("app").innerHTML.trim();
/* 2. 通过<br>标签分割字符串为数组,得到数组最后一项,去除前后位空格
3. 通过/分割字符为数组
*/
var arr = txt.split("<br>")[1].trim().split("/");
/* 4.去除数组中每一项 */
var reg = / /g
/* replace为字符串方法,所以需遍历数组中的每一项字符串 */
var res = arr.map(item=>item= item.replace(reg,""));
console.log(res)
</script>
7.获取数字
var str = "<span>2201239人评价</span>"
var reg = /[^0-9]/g
console.log(str.replace(reg,""));