[关闭]
@xunuo 2019-10-08T09:34:01.000000Z 字数 2030 阅读 861

正则表达式学习

前端


  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. </head>
  7. <body>
  8. <H1>HELLO</H1>
  9. 10<sub>2</sub>
  10. <script type="text/javascript">
  11. //量词
  12. // + 匹配至少一个或多个前导字符
  13. var str1='phwhphhhhhhhwhhh';
  14. var reg1=/hw+h/g;//h和h之间至少有一个或多个w的字符
  15. var reg1=/ph+/g;//一个p和一个或多个h在一块的字符
  16. var reg1=/wh+/g;//一个w和一个或多个h在一块的字符
  17. var reg1=/h+/g;//一个或多个h在一块的字符
  18. alert(str1.replace(reg1,'0'));
  19. // * 匹配至少0个或多个前导字符
  20. var str2="abcdefgb";
  21. var reg2=/b*/g;//..u.o. 前引号后引号也算0个
  22. alert(str2.replace(reg2,'0'));
  23. var str3='wphhhhhwhhhp';
  24. var reg3=/wh*p/g;//找不到
  25. alert(str3.replace(reg3,'0'))
  26. // ? 匹配至少0个或1个前导字符
  27. var str4='hello,wolhld';
  28. var reg4=/he?/g;//一个h后面跟0个或一个e
  29. alert(str4.replace(reg4,'0'));
  30. //
  31. // // . 通配符
  32. var str5='zhangsanzhangsan';
  33. var reg5=/./;//0hangsanzhangsan
  34. alert(str5.replace(reg5,'0'))
  35. var reg5=/./g;//0000000000000000
  36. var reg5=/zh.ng.an/;//0zhangsan
  37. // {X}匹配x个前导字符
  38. var str5 = "wwwhhhhaaattt";
  39. var reg5 = /h{3}/g;
  40. alert(str5.replace(reg5,"#"));
  41. var str6 = "wwwhhhhhhhaaattt";
  42. var reg6 = /h{3,4}/g;
  43. alert(str6.replace(reg6,"#"));
  44. var str7 = "wwwhhhaaattt";
  45. var reg7 = /h{3,}/g;
  46. alert(str7.replace(reg7,"#"));
  47. var str8 = "1219539627@163.com";
  48. var reg8 = /^\w{4,10}@163\.(com|cn)$/g;
  49. alert(str8.replace(reg8,"#"));
  50. //$结尾
  51. var str9 = "what what doing are you doing";
  52. var reg9 = /doing$/;
  53. alert(str9.replace(reg9,"#"));
  54. var str10 = "what";
  55. var reg10 = /^what$/g;//^开头
  56. alert(str10.replace(reg10,"#"));
  57. //
  58. var str11 = "aAbcdef";
  59. var reg11 = /[a-z]/g;
  60. alert(str11.replace(reg11,"#"));
  61. // 匹配手机号
  62. var cellphone = "15215212345";
  63. var regNum = /^1[0-9]{10}$/;
  64. alert(regNum.test(cellphone));
  65. //
  66. //元字符
  67. var str12 = "adebfc";
  68. var reg12 = /[^abc]/g;
  69. alert(str12.replace(reg12,"#"));
  70. var str13 = "a d ,";
  71. var reg13 = /\S/g;//查找非空白字符。
  72. alert(str13.replace(reg13,"#"));
  73. //
  74. javascript:alert(*hello*);
  75. var str14 = "as1aaaaa";
  76. var reg14 = /\B/g;//匹配非单词边界。
  77. alert(str14.replace(reg14,"#"));
  78. //匹配邮箱
  79. var email = "123456@qq.com";
  80. var email1 = "123456df";
  81. var email2 = "123456asfsdf";
  82. var email3 = "12345sdfsdf";
  83. var regE = /^\w{4,16}@(qq|163|139)\.(com|cn)$/;
  84. alert(regE.test(email));
  85. </script>
  86. </body>
  87. </html>

/i : 忽略大小写,注意仅是忽略大小写,并不忽略全半角
/g : 全文查找出现的所有匹配字符
/m :
1、(mutiple)多行查找
2、m 影响^、$
3、若不指定 m,则:^ 只在字符串的最开头,
$ 只在字符串的最结尾。即:匹配整个串的开始和结束
4、若指定 m,则:^ 在字符串每一行的开头,$ 在字符串每一行的结尾。即:匹配每一行的开始和结束

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注