在javascript中使用RegExp格式化数字

Format number using RegExp in javascript

本文关键字:RegExp 格式化 数字 javascript      更新时间:2023-09-26

下面有一个数字

var number = '12345678904444'

我想这样

(123) 456-7890x4444
Format is (###) ###-####x####.

无论如何,这就是RegExp解决方案的样子;-)

number.replace(/^('d{3})('d{3})('d{4})('d{4})$/, '($1) $2-$3x$4.');

你可以使用javascript的字符串分割方法:

var number = '12345678904444';
var numbers_array = numbers.split(""); 

然后您可以使用数字数组创建一个新的字符串,按照您想要的格式。

我相信你能做到!

如果你想在Javascript中格式化一个数字,你最好的选择是使用String.slice()提取你需要的数字部分,然后使用+将它们联系在一起。

不要使用正则表达式!!如果this中的字符串有错误并且不能正确解析,那么您将面临灾难性回溯的风险,您的处理将持续非常非常长的时间。

我更喜欢这样:

var num = '1234567890x4444';
var first = num.substr(0,3), second = num.substr(3,3), last = num.substr(6);
var formatted = '('+first+') ' + second + '-'+ last;
结果:

console.log(formatted); // (123) 456-7890x4444