第一部分:
所以我想創建一個函式來檢測字串中的電話號碼并將其轉換為tel:鏈接。我有一個檢測電話號碼的功能:
function tel(str) {
return /^(1?\s?\(?[0-9]{3}\)?\s?[0-9]{3}\s?[0-9]{4})$/.test(str) || /^(1?\s?[0-9]{3}\-?\s?[0-9]{3}\-?\s?[0-9]{4})$/.test(str) || /^(1?\s?\({1}[0-9]{3}\){1}\s?[0-9]{3}\-?\s?[0-9]{4})$/.test(str);
}
如果你打電話:
console.log(tel("555-666-7777"));
它會回傳true。但如果我有一個字串,它會回傳false.
例子:
console.log(tel("Hi, my phone number is: 555-666-7777"));
// Output: false
我怎么能用字串檢測它?
第二部分
一旦檢測到字串中的電話號碼,我如何將其包裝在 tel: 鏈接中?
例子:
console.log(tel("You can reach me at 444-555-6654"));
// Output: "You can reach me at <a href="tel:444-555-6654">444-555-6654</a>"
我怎樣才能讓這一切成為可能?
uj5u.com熱心網友回復:
function tel(str) {
let match = str.match(/^(.*)(\d{3}\-\d{3}\-\d{4})$/);
if (!match) return str;
let text = match[1];
let phone = match[2];
return `${text}<a href="tel:${phone}">${phone}</a>`;
}
console.log(tel("555-666-777"));
console.log(tel("555-666-7777"));
console.log(tel("You can reach me at 444-555-6654"));
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/489833.html
標籤:javascript 节点.js 正则表达式
