var text = "快件已签收,提货点:【丰巢智能柜】 北门东侧丰巢柜,如有疑问请电联:19817118888,投诉 电话:0471-5256632。风里来,雨里去,不求服务惊天地,只为用户您满意。";
// 手机号正则
var regPhone = /(13[0-9]|14[5-9]|15[012356789]|166|17[0-8]|18[0-9]|19[8-9])[0-9]{8}/g;
// 固定电话正则
var regTel = /(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?/g;
// 替换后文字
text = text.replace(regPhone, "<span style='color: red;'>$&</span>").replace(regTel, "<font style='color: red;'>$&</font>");
console.log(text);
结果输出 :
说明:
replace 方法的结果是一个完成了指定替换的 stringObj 对象的复制。 下面任意的匹配变量都能用来识别最新的匹配以及找出匹配的字符串。在需要动态决定替换字符串的文本替换中可以使用匹配变量。 字符 含义 $$ $ (JScript 5.5 或更新版本) $& 指定与整个模式匹配的 stringObj 的部分。 (JScript 5.5 或更新版本) $` 指定由 $& 描述的匹配之前的 stringObj 部分。 (JScript 5.5 或更新版本) $' 指定由 $& 描述的匹配之后的 stringObj 部分。 (JScript 5.5 或更新版本) $n 捕获的第 n 个子匹配,此处 n 为从1到9的十进制一位数。 (JScript 5.5 或更新版本) $nn 捕获的第 nn 个子匹配,此处 nn 为从01到99的十进制两位数。 (JScript 5.5 或更新版本)