我有一些带国家/地区代码的电话号码(例如var number = +12013334444
),我应该通过特定方式解析(例如1 2013334444)。另外,我保存国家/地区代码而不用' +'在变量中(例如countryCode === 1 // true
)。我认为在正则表达式和替换函数的帮助下解析它会很好。像这样:
number.replace(/(countryCode)(/[0-9]/gi)/, '$1 $2');
但它不适合我。有没有优雅的方法来解析数字而不使用indexOf()和substr()?
答案 0 :(得分:1)
试试这个
var number = "+12013334444";
var countryCode = "1";
var formattedValue = number.split( "+" + countryCode ).join( "+" + countryCode + " " );
alert( formattedValue );
答案 1 :(得分:0)
试试这个:
var numbers = [
'+12013334444',
'+1 2013334444'
];
var output = numbers.map(function(number) {
return number.replace(/(\+[0-9])(?! )/, '$1 ');
}).join('\n');
document.getElementById('output').innerHTML = output;
<pre id="output"></pre>