正则应用举例

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

验证类型
  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>*/

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 初衷:看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印...
    DCbryant阅读 4,065评论 0 20
  • 只能输入数字:"^[0-9]*$"。 只能输入n位的数字:"^\d{n}$"。 只能输入至少n位的数字:"^\d{...
    johney_zhou阅读 425评论 0 1
  • 正则表达式全部符号解释(转) 常用正则表达式大全 (转) 不错的正则博客 正则的方法 var reg = /[1-...
    me__me11阅读 1,004评论 0 0
  • 正则表达式到底是什么东西?字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等...
    狮子挽歌阅读 2,175评论 0 9
  • 一、什么是正则表达式(Regular Expression) 正则表达式是对字符串操作的一种逻辑公式,就是用事先定...
    XZ阳光小熊阅读 628评论 0 6