Javascript 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