正则表达式的三部曲应该是:1、查找;2、引用匹配了的文本(后向引用);3、有选择地替换文本。
需要注意的是:大部分语言的正则表达式实现,在查找中,使用后向引用来代表一个子模式,其语法是“\数字”;而在替换中,其语法是“$数字”。
替换电话号码格式
我们的电话格式通常都是:(区号)电话,比如说:(0756)8401132;现在假设我们要求把文本中所有的电话格式都改为:0756-8401132,我们可以这样做:
\((\d{4})\)(\d{8})
效果演示
(0756)82514769 (0756)83281314 (0756)88401132
匹配后结果:
0756-82514769 0756-83281314 0756-88401132
本例代码
function reg_replace()
{
var test = document.getElementById("test");
var regex = /\((\d{4})\)(\d{8})/g;
test.innerHTML = test.innerHTML.replace(regex,"$1-$2");
}
如果这篇文章你是从头看到这里,相信这个表达式对你来说没有任何难度,需要留意的是这里对元字符“(”和“)”进行了转义,并且,在替换结果中,我们要求它不出现。