2016-09-10 29 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)    ); 
    }); 

});