在javascript中使用RegExp格式化数字
Format number using RegExp in javascript
下面有一个数字
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
相关文章:
- jQuery中是否内置了任何字符串格式化函数
- RegExp:匹配Javascript中除regex值之外的所有内容
- JavaScript正则表达式文本与RegExp对象
- 使用RegExp查找url中的字符
- 相同的RegExp返回不同的结果-第一次是正确的结果,第二次是null
- 将字符串转换为格式化日期
- Highcharts-如何在自定义格式化程序中获得默认的y轴标签格式化程序
- 用Javascript重新格式化复杂文本日期字符串的更好方法
- 在HTML画布上格式化文本
- 用于高级文本的格式化工具
- 全局标志仅与第一个匹配项匹配的Regexp
- 使用模式格式化Number类型输入中的值
- 将格式化的纯文本转换为HTML
- 如何配置WebStorm以正确格式化生成器函数
- javascript RegExp的奇怪行为:相同的正则表达式会产生不同的结果
- 替换为javascript中的regExp
- 如何将日期字符串视为格式化数组[EYEAR,MONTH,DAY]
- 如何在谷歌可视化中组合数字和模式格式化程序
- 在javascript中使用RegExp格式化数字
- JavaScript RegExp 自动格式化模式