正则表达式在JavaScript中的应用

1.exec与g 一起使用,每次调用依次返回不同的分组
2.exec 不与g一起使用,只第一个查找的分组

// 将字符串转为对象
var
cssRe=/([a-z0-9\-]+)\s*:\s*([^;\s]+(?:\s*[^;\s]+)*);?/gi function parseStyles(styles){
var out = {}, matches;
if (styles){
cssRe.lastIndex = 0;
while ((matches = cssRe.exec(styles))){
out[matches[
1]] = matches[2] || ''
;
}
}
return out;
}
parseStyles(
"font-size:12px;border:1px solid gray;") //{font-size:12px;border:1px solid gray;}

 2.常用的正则表达式

  • /\S/ --非空
  • \w 匹配任何字类字符,包括下划线。与“[A-Za-z0-9_]”等效。

3.replace 与分组正则一起使用

1.将手机号12988886666转化成129 8888 6666

function
telFormat(tel){ tel = String(tel); //方式一 return tel.replace(/(\d{3})(\d{4})(\d{4})/,function (rs,$1,$2,$3){ return $1+" "+$2+" "+$3 }); //方式二 return tel.replace(/(\d{3})(\d{4})(\d{4})/,"$1 $2 $3"); }
ps:rs 表示原数据 即
12988886666

 4.replace 不与分组一起使用

1.实现函数escapeHtml,将<, >, &, " 进行转义

function
escapeHtml(str) { //匹配< > " & return str.replace(/[<>"&]/g, function(rs) { switch (rs) { case "<": return "<"; case ">": return ">"; case "&": return "&"; case "\"": return """; } }); }
ps:rs 表示匹配的数据
 

 

posted @ 2017-03-16 14:39  海龟123  阅读(217)  评论(0编辑  收藏  举报