1.正则表达式语法

  1. var str ="hello";//he**o
  2. //正则表达式:规定字符串中字符出现规律的表达式match,replace,slice,search
  3. var reg = /l/ig;
  4. //i,g修饰符,i忽略大小写,g全局替换
  5. console.log(str.replace(reg,"*"))

2.正则表达式的测试

  1. // 规则字符串中字符出现规律的表达式
  2. /* reg.test(str) */
  3. var str = "hello";
  4. var reg =/l/g;
  5. console.log(str.replace(reg,"*"));
  6. console.log(reg.test(str))

3.备选字符集

  1. // 备选字符集: [海天] 特点:多选一
  2. /* 定义:规定某一位字符的备选字符列表 */
  3. var str = "上海,上天,上哪里去"; //"*"
  4. var reg = /上[海天]/g
  5. console.log(str.replace(reg,"*"))
  1. // 上,天,那 规定某一位字符的备选字符列表
  2. var reg =/[上天哪]/g
  3. var str ="上海,哪里去,天";
  4. console.log(str.replace(reg,"*"))

4.预定义字符集

  1. /* 预定义字符集:针对常用的备选字符集提供的简化符号 */
  2. var str ="asfa11a3sf";
  3. var str1 ="_asfa11 sad23a3_sf_";
  4. // \d表示所有数字
  5. var reg = /\d/g;
  6. console.log(str.replace(reg,"*"))
  7. // \2表示所有数字,字母,下划线
  8. var reg1 =/\w/g;
  9. console.log(str1.replace(reg1,"*"))
  10. // \s表示空格,制表符tab
  11. console.log(str1.replace((/\s/g,"*")))
  12. // .表示所有字符
  13. console.log(str1.replace((/./g,"*")))

5.贪婪模式与懒惰模式

  1. var str = "323342342323fdsf";
  2. var reg = /\d{5,7}/;
  3. console.log(reg.test(str));
  4. </script>
  5. <!-- 贪婪,懒惰模式 -->
  1. /*
  2. 给量词的情况下 默认取最大值 默认是贪婪的
  3. */
  4. var str = "2323hello";
  5. var reg = /\d{3,6}?/;
  6. console.log(str.replace(reg,"*"))

6.不确定数量的量词

  1. /*
  2. ? 0-1 {0,1}
  3. + 大于1个 {1,}
  4. *
  5. */
  6. var str ="gdg12138"
  7. var reg=/\d?/;
  8. var reg1=/\d+/;
  9. var reg2=/\d*/;
  10. console.log(reg.test(str))
  11. console.log(reg1.test(str))
  12. console.log(reg2.test(str))

7. 选择分组

  1. var str = "哪里,哪去能发多少积分";
  2. /* | 哪里,能发*/
  3. console.log(str.replace(/哪里|能发/g,"*"))

8.非

  1. /* 非
  2. */
  3. /* 将不是字母的字符替换成空 */
  4. var str = "hello2133";
  5. var reg = /[^a-z]/g
  6. console.log(str.replace(reg,""))

9.转义字符

  1. /* \转义字符 遇到一些特殊的字符需要处理,可以在前面加上转义字符 */
  2. var str = "https://www.baidu.com"
  3. var s = "http://www.baidu.com"
  4. var reg = /(https|http):\/\/[w]{3}\.baidu\.com/;
  5. console.log(reg.test(s))