正则表达式在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 表示匹配的数据
 
原文地址:https://www.cnblogs.com/haigui-zx/p/6559388.html