正则应用举例

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

验证类型
  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 = "

文字

"; var str2 = "

jkjkjkd

" console.log(innerHTML(str)); // 文字 console.log(innerHTML(str2)); //

jkjkjkd

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

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

你可能感兴趣的:(正则应用举例)