我輸入了一個隨機英國電話號碼(「015395 30612」)。我想創建一個函數讓我們說phoneBeautifier(字符串){},這將輸出相同的字符串,但使它看起來「美麗」。例如,輸出可能是:+44(0)1539 530612Javascript UK電話號碼美化者
與正則表達式我很糟糕,有沒有其他方法?
我輸入了一個隨機英國電話號碼(「015395 30612」)。我想創建一個函數讓我們說phoneBeautifier(字符串){},這將輸出相同的字符串,但使它看起來「美麗」。例如,輸出可能是:+44(0)1539 530612Javascript UK電話號碼美化者
與正則表達式我很糟糕,有沒有其他方法?
var phoneNumber="015395 30612";
function format(phoneNumber) {
return phoneNumber.replace(/\s+/g, '').replace(/(.)(\d{4})(\d)/, '+44 ($1)$2 $3');
}
['015395 30612','01539530612'].forEach(function(phoneNumber){
console.log(format(phoneNumber));
});
你可以嘗試格式(..)方法instead.this功能支持所有的情況。
嘗試這樣:
function phoneBeautifier(number) {
return number.replace(/^(\d)(\d{5})\s*(\d{5})/, '+44 ($1)$2 $3');
}
var beautifulPN = phoneBeautifier("01539530612");
console.log(beautifulPN);
你能解釋一下號碼的格式?如果可以驗證,可以將其格式化......不熟悉英國的數字。 – bryc
+44是國家代碼。從英國以外打電話時,您減去0.在英國境內打電話時,您知道需要更長的時間,但您需要前面的0到01539 530612. 1539我猜是代碼。 – Bobys
試試更好的控制和實用程序。它基於Google的libphonenumber庫。 https://github.com/albeebe/phoneformat.js?files=1 – Adapter