正则应用举例

作者: IT_枭枫 | 来源:发表于2018-04-21 18:14 被阅读0次

在写具体的案例之前,先说一个概念,正则的回溯,这个其实是正则匹配的原理,在这里给大家推荐一篇文章正则表达式回溯法原理 ,简单易懂。

验证类型
  1. 数字: /^(\+|-)?(0|[1-9][0-9]*)(\.\d+)?$/ 可以验证正数,负数,零,当然带+号的数字也可以验证通过,但是类似(00001.123)这样的数字抱歉需要你自己动手思考一下。
  2. 电话号码:/^0\d{2,3}-\d{7-8}$/ 这个正则验证的是国内座机号码。
  3. 手机号码:/^1[3|4|5|8][0-9]\d{8}$/
  4. 内容替换 "www.baidu.com".replace(/\.\w+\./,".istudy.") // 结果为www.istudy.com。 这个有个经常的应用是去掉字符串中出现的空白 " a b c ".replace(/\s/g, "") // abc 中间和两头的空格都去掉了
  5. trim()函数去首尾空格 " abc de ".replace(/^\s*(.*\S)\s*$/,"$1") // abc de,$1表示第一个()内匹配到的字符串
  6. 验证中文姓名: /^[\u4e00-\u9f15]{2-5}$/ 两个到5个汉子之间
  7. 检测昵称(是否由汉字字母数字下划线组成):/^([\u4e00-\u9f15]|[a-zA_Z])\w{5-7}$/
  8. innerHTML(): 由正则来实现 /^<\w+(\s+\w+\=\'\w+\')*>(.+)<\/.+>$/具体案例为:
  function innerHTML(str) {
    str = str.replace(/^<\w+(\s+\w+\=\'\w+\')*>(.+)<\/.+>$/,"$2");
        return str;  
   }

  var str = "<p class='demo'>文字</p>"; 
  var str2 = "<div class='demo'><p>jkjkjkd</p></div>"     
  console.log(innerHTML(str)); // 文字
  console.log(innerHTML(str2)); // <p>jkjkjkd</p>
  1. 通过字符串生成html
  // div#demo.demo 转成 <div id="demo" class="demo"></div>
  var str = "p#demo.demo"; 
  str = str.replace(/^(\w+)\#(\w+)\.(\w+)$/,"<"+"$1"+" id=\""+"$2"+"\" class=\""+"$3"+"\"></"+"$1"+">");
   /*str = str.replace(/^(\w+)\#(\w+)\.(\w+)$/,function(match,$1,$2,$3) {
     return "<"+$1+" id=\""+$2+"\" class=\""+$3+"\"></"+$1+">";
    });*/

   console.log(str); /*<div id="demo" class="demo"></div>*/

这是一些基本的内容,简单的讲解,让大家有个了解。

相关文章

网友评论

    本文标题:正则应用举例

    本文链接:https://www.haomeiwen.com/subject/pxyxlftx.html