2017-10-11 56 views
0

如何操作字符串以添加錨點以代替電話號碼?以純文本替換電話號碼,並使用Javascript中的錨點

更多詳細..

我輸入一個像這樣的字符串:

"Something went wrong. Please call us on 01 123 456 789 or 01 987 654 321."

我想作爲輸出:

"Something went wrong. Please call us on <a href="tel:01123456789">01 123 456 789</a> or <a href="tel:01987654321">01 987654321</a>."

(注意,有可能是任何數量的電話號碼,並且實際內容中的數字之間的空格可以存在或不存在)

我該如何在Javascript中實現?

+0

應用的正則表達式與取代然後準備動態HTML,並將它附加到DOM。 –

+0

什麼是正則表達式? –

+0

'(\ b [0-9] + [0-9] +)'這樣的事我猜 –

回答

1

你可以簡單地用Regex做到這一點。

const input = "Something went wrong. Please call us on 01 123 456 789 or 01 987 654 321." 
 
    
 
console.log(input.replace(/(\d\s*){5,}\d/g, x=>"<a href='tel:" + x.replace(/\s/g,"") + "'>" + x.trim() + "</a>"));

+0

這似乎工作得很好,除了一些空格。 輸出是''出了點問題,請給我們打電話01 123 456 78901 987 654 321「' –

+1

我會去'/(\ d \ s *){6,} /',這樣可以確保至少有6位數字。 '/ [\ d \ s *] {6,}'也會匹配長度大於等於6的空字符串。 –

+0

解決方案:'.replace(/(\ d \ s *){6,}/g,x =>「" + x.trim() + "」);' –