在 Javascript 中将电话号码格式化为 XX XXX XX XX

问题描述 投票:0回答:2

我需要格式化电话号码,例如:

来自:

+48 XX XXX XX XX
,其中
X
是一个数字。

示例:

+48 12 345 67 89

致:

+48 XXX XXX XXX

示例:

+48 123 456 789


编辑:

我尝试过的:

  • 我尝试删除字符串中的空格:
    phone.replace(' ', '');

之前:

+48 12 312 31 23

之后:

+4812 312 31 23

结论:出了问题,因为它只格式化了第一个空格而不是所有内容。

  • 我还尝试根据有关正则表达式的其他问题将其分成几部分:

phone.replace(/(\d{3})(\d{3})(\d{3})(\d{3})/gi, '$1 $2 $3 $4');

phone.replace(/(\d{3})" "(\d{3})" "(\d{3})" "(\d{3})/gi, '$1 $2 $3 $4');

以及许多其他类似的配置。

之前:

+48 12 312 31 23

之后:

+48 12 312 31 23

结论:肯定有问题,没有任何改变。问题出在正则表达式上。

javascript regex replace format phone-number
2个回答
2
投票

仅供参考 -

string.replace()
只会替换您要替换的第一个实例,而
string.replaceAll()
将替换所有实例。


1
投票

您可以在此处使用正则表达式替换方法:

var input = "+48 12 345 67 89";
var output = input.replace(/\s+/g, "")
                  .replace(/^(\+\d{2})(\d{3})(\d{3})(\d{3})$/, "$1 $2 $3 $4");
console.log(input + " => " + output);

© www.soinside.com 2019 - 2024. All rights reserved.