HTML ドキュメント内の特定の電話番号のすべてのインスタンスを JavaScript に置き換えようとしています。
電話番号には複数の形式があります。
888-888-8888
(888)-888-8888
(888) 888-8888
$(document).ready(function(){
function p(a,b,element){
if(!element)element=document.body;
var nodes=$(element).contents().each(function(){
if(this.nodeType==Node.TEXT_NODE){
var r=new RegExp(a,'gi');
this.textContent=this.textContent.replace(r,b);
} else {
p(a,b,this);
}
});
}
p('888-888-8888','(999)-999-9999');
p('(888)-888-8888','(999)-999-9999');
p('(888) 888-8888','(999)-999-9999');
});
リストされている最初のフォームのすべてのインスタンスを正常に置き換えます。しかし、括弧を無視しているようです。私は運が悪いバックスラッシュでエスケープしようとしました。私の正規表現のスキルはあまり良くないので、助けていただければ幸いです。