一个正则表达式的手机重新格式化为JS

时间:2017-05-15 13:53:13

标签: javascript regex

我的电话号码如下:89227611508我需要将正则表达式(JS)重新格式化为+8 922 761-15-08。我是正则表达式的新手,无法完成它。任何人都可以提供简单的解决方案吗?

2 个答案:

答案 0 :(得分:1)

使用:

"89227611508".replace(/^(\d{1})(\d{3})(\d{3})(\d{2})(\d{2})$/, "+$1 $2 $3-$4-$5");

答案 1 :(得分:1)

您需要使用正则表达式来获取数字组,然后将数字组连接成格式化的字符串。

let number = '89227611508';

console.log(formatNumber(number));

function formatNumber(number) {
  let groups = number.match(/^(\d)(\d{3})(\d{3})(\d{2})(\d{2})$/);
  return '+' + groups[1] + ' ' + groups[2] + ' ' + groups[3] + '-' + groups[4] + '-' + groups[5];
}
.as-console-wrapper { top: 0; max-height: 100% !important; }