在写具体的案例之前,先说一个概念,正则的回溯,这个其实是正则匹配的原理,在这里给大家推荐一篇文章正则表达式回溯法原理 ,简单易懂。
验证类型
- 数字:
/^(\+|-)?(0|[1-9][0-9]*)(\.\d+)?$/
可以验证正数,负数,零,当然带+号的数字也可以验证通过,但是类似(00001.123)这样的数字抱歉需要你自己动手思考一下。 - 电话号码:
/^0\d{2,3}-\d{7-8}$/
这个正则验证的是国内座机号码。 - 手机号码:
/^1[3|4|5|8][0-9]\d{8}$/
- 内容替换
"www.baidu.com".replace(/\.\w+\./,".istudy.") // 结果为www.istudy.com
。 这个有个经常的应用是去掉字符串中出现的空白" a b c ".replace(/\s/g, "") // abc 中间和两头的空格都去掉了
- trim()函数去首尾空格
" abc de ".replace(/^\s*(.*\S)\s*$/,"$1") // abc de
,$1表示第一个()内匹配到的字符串 - 验证中文姓名:
/^[\u4e00-\u9f15]{2-5}$/
两个到5个汉子之间 - 检测昵称(是否由汉字字母数字下划线组成):
/^([\u4e00-\u9f15]|[a-zA_Z])\w{5-7}$/
- 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>
- 通过字符串生成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>*/
这是一些基本的内容,简单的讲解,让大家有个了解。
网友评论