使用正则表达式解析电话号码并替换()

时间:2016-02-04 12:38:10

标签: javascript regex

我有一些带国家/地区代码的电话号码(例如var number = +12013334444),我应该通过特定方式解析(例如1 2013334444)。另外,我保存国家/地区代码而不用' +'在变量中(例如countryCode === 1 // true)。我认为在正则表达式和替换函数的帮助下解析它会很好。像这样:

  number.replace(/(countryCode)(/[0-9]/gi)/, '$1 $2');

但它不适合我。有没有优雅的方法来解析数字而不使用indexOf()和substr()?

2 个答案:

答案 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>