我输入了一个随机的英国电话号码(“015395 30612”)。我想创建一个函数,比如说phoneBeautifier(string){},它将输出相同的字符串,但使其看起来“漂亮”。例如,输出可以是:+44(0)1539 530612
我对正则表达式如此糟糕,还有其他方法吗?
答案 0 :(得分:2)
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));
});

你可以尝试使用格式(..)方法。这个功能支持你所有的情况。
答案 1 :(得分:0)
尝试这样的事情:
function phoneBeautifier(number) {
return number.replace(/^(\d)(\d{5})\s*(\d{5})/, '+44 ($1)$2 $3');
}
var beautifulPN = phoneBeautifier("01539530612");
console.log(beautifulPN);