在javascript中使用RegExp格式化数字

时间:2014-03-28 09:56:51

标签: javascript regex

我有一个如下的数字

var number = '12345678904444'

我想要这样

(123) 456-7890x4444

Format is (###) ###-####x####.

我怎样才能实现这一点。

4 个答案:

答案 0 :(得分:2)

对于它的价值,这就是RegExp解决方案的样子; - )

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

答案 1 :(得分:0)

您可以使用javascript字符串拆分方法:

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

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

我相信你能做到!

答案 2 :(得分:0)

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

请勿使用此注册!!如果你的字符串出现错误并且无法正确解析,那么你就会面临灾难性回溯的风险,你的处理过程确实非常长。

答案 3 :(得分:0)

我更喜欢这个:

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