1、备选字符集

  1. var str ="上海,上天,上哪里去";
  2. var reg =/上[海天]/g
  3. console.log(str.replace(reg,"*")); // *,*,上哪里去
  4. var reg = /[上天哪]/g
  5. var str = "上海,上天,上哪里"
  6. console.log(str.replace(reg,"*")); // *海,**,**里
  7. var str = "我去,我草,你这游戏打的太牛逼了"
  8. var reg = /[去草]|牛逼/g
  9. console.log(str.replace(reg,"*")); // 我*,我*,你这游戏打的太*了
  10. var res = "ajkdgkbcj128973489"
  11. var reg = /[0-9]/g
  12. console.log(res.replace(reg,"*")); // ajkdgkbcj*********
  13. var str = "hello"
  14. var reg = /[el]o/g
  15. console.log(str.replace(reg,"*")); // hel*

2、转义字符

  1. var str = "https://www.baidu.com"
  2. var str2 = "http://www.baidu.com"
  3. var reg = /(http|https):\/\/[w]{3}\.baidu\.com/
  4. console.log(reg.test(str));
  5. console.log(reg.test(str2));

3、指定匹配的位置

  1. // 电话
  2. var num = "13897932473123"
  3. var reg = /^1[3-9]\d{9}$/
  4. console.log(reg.test(num));
  1. <input type="text" id="input">
  2. <script>
  3. /* 去除开头结尾的空格 */
  4. var res = []
  5. var reg = /^\s+|\s+$/g;
  6. var input = document.getElementById("input")
  7. input.onkeydown = function(event){
  8. if(event.keyCode == 13){
  9. var str = this.value
  10. res.push(str.replace(reg,""))
  11. console.log(res);
  12. }
  13. }
  14. </script>

4、非

  1. var str = "hello210874"
  2. var reg = /[^a-z]/g
  3. console.log(str.replace(reg,"")); // hello
  4. var str = "<p>我是p标签</p>。<div>我是div</div>"
  5. var reg = /<[^<>]+>/g
  6. console.log(str.replace(reg,"")); // 我是p标签。我是div
  7. var str = "https://movie.douban.com/subject/129205/"
  8. var reg = /[^\d+]/g
  9. console.log(str.replace(reg,"")); // 129205
  10. //或将数据变成 [[1,2],[9,2],[0,5]]

5、表单验证

  1. <input type="text" placeholder="请输入邮箱" id="email">
  2. // 邮箱验证
  3. <script>
  4. var email = document.getElementById("email")
  5. email.onkeyup = function(event){
  6. if(event.keyCode == 13){
  7. var value = this.value.trim()
  8. var reg = /^[\w]+@[0-9a-z]+\.[a-z]+$/
  9. console.log(reg.test(value));
  10. }
  11. }
  12. </script>
  13. // 银行密码 /^\d{6}$/
  14. // 账户密码 以字母开头,后面是数字,数字至少包含5位 /^[a-z]+\d{5,}$/
  15. // 用户名 以字母开头不超过8位 /^[A-z]{1,8}$/

6、处理文本内容

  1. <p id="p">
  2. 导演: 弗兰克·德拉邦特 Frank Darabont&nbsp;&nbsp;&nbsp;主演: 蒂姆·罗宾斯 Tim Robbins /...<br>
  3. 1994&nbsp;/&nbsp;美国&nbsp;/&nbsp;犯罪 剧情
  4. </p>
  5. // 转为 ["1994", "美国", "犯罪 剧情"]
  6. <script>
  7. var p = document.getElementById("p")
  8. var arr = p.innerHTML.trim();
  9. var res = arr.split("<br>")[1].trim().split("/")
  10. // 此时res为数组
  11. var reg = /&nbsp;/g
  12. /* replace为字符串方法,所以需遍历数组中的每一项字符串 */
  13. var str = res.map(item=>{
  14. return item = item.replace(reg,"")
  15. })
  16. console.log(str);
  17. </script>

7、获取数字

  1. var str = "<span>2201239人评价</span>"
  2. var reg = /[^0-9]/g
  3. console.log(str.replace(reg,""));