2016-09-10 32 views
-2

我正在android自动电话号码突出显示应用程序。我已将JavaScript文件包含在我的android浏览器中,并使用以下代码来重写html文档。html重写不工作在javascript

var regex = /\d{10}/g; 
var text1234 = $("body:first").html(); 
text1234 = text1234.replace(regex, "<a href='tel:$&'>$&</a>"); 
$("body:first").html(text1234); 

此代码正在处理一些不包含javascript文件和浏览器与其他人崩溃的网页。在评论“$(”body:first“)。html(text1234);”这一行只是页面加载而没有改变。如何解决这个问题呢。

+0

它以什么方式崩溃? –

+0

浏览器与含有javascript内容的网页崩溃。只显示加载和崩溃。 –

+0

会猜测它占用了太多运行正则表达式的内存。事实上,你确实意识到你的代码取代了HTML内容中的所有10位数字?这在某些时候肯定会失败。 '

'会中断 –

回答

0

答案在下面给出。它的工作很好。

var phonePattern = /\s((\+\d{1,3}(-|)?\(?\d\)?(-|)?\d{1,5})|(\(?\d{2,6}\)?))(-|)?(\d{3,4})(-|)?(\d{4})((x| ext)\d{1,5}){0,1}/g, 
phoneReplacement = '<a href="tel:$&">$&</a>'; 

$(document).ready(function() { 

    $('*','body').each(function() { 
     $(this).html($(this).html().replace(phonePattern,phoneReplacement)    ); 
    }); 

});