Javascript正则表达式,以逗号分隔,最后3位数字,然后是2位数字
我正在寻找一个正则表达式以美国逗号格式分开金额,如下所示Javascript正则表达式,以逗号分隔,最后3位数字,然后是2位数字,javascript,regex,Javascript,Regex,我正在寻找一个正则表达式以美国逗号格式分开金额,如下所示 1111111111 to 1,11,11,11,111 function formatNumber(num) { return num.toString().replace(/(\d)(?=(\d{2})*(\d{3})+(?!\d))/g, '$1,') } console.info(formatNumber(2665.68)) console.info(formatNumber(102665.68)) console.i
1111111111 to 1,11,11,11,111
function formatNumber(num) {
return num.toString().replace(/(\d)(?=(\d{2})*(\d{3})+(?!\d))/g, '$1,')
}
console.info(formatNumber(2665.68))
console.info(formatNumber(102665.68))
console.info(formatNumber(111102665.32))
console.info(formatNumber(11111111.32))
我试着像下面一样
1111111111 to 1,11,11,11,111
function formatNumber(num) {
return num.toString().replace(/(\d)(?=(\d{2})*(\d{3})+(?!\d))/g, '$1,')
}
console.info(formatNumber(2665.68))
console.info(formatNumber(102665.68))
console.info(formatNumber(111102665.32))
console.info(formatNumber(11111111.32))
基本上是最后三位数,然后是两位数
我发现了许多分隔3位、2位或4位的正则表达式
我尝试将3和数字分隔结合起来,但缺乏正则表达式知识无法实现
请帮忙
谢谢您可以使用
.replace(/(?!^)(?=(?:\d{2})*\d{3}(?:\.|$))/g, ',')
见
详细信息
-不是字符串位置的开头(?!^)
-在当前位置的右侧,必须有(?=(?:\d{2})*\d{3}(?:\.\124;$)
-两位数字的零次或多次出现(?:\d{2})*
-三位数字\d{3}
-(?:\.\124;$)
或字符串结尾
函数格式编号(num){
return num.toString().replace(/(?!^)(?=(?:\d{2})*\d{3}(?:\.\124;$)/g',,'))
}
控制台信息(格式编号(2665.68))
控制台信息(格式编号(102665.68))
控制台信息(格式编号(111102665.32))
console.info(formatNumber(11111111.32))
我对正则表达式有基本的了解,但无法了解如何使组以最后的3结尾,然后以2开头,你能给我一些提示吗?我已经更新了postOk,我明白了,试试。替换(/(?!^)(?=(?:\d{2})*\d{3}(?:\.\124$)/g',
。如果分数部分始终存在,您可以删除(?:\.|$)
替换为\。
非常感谢兄弟,它只解决了一个问题兄弟,如果我给-280.00这样的负值,它的显示-,280。00@Md.ParvezAlam然后使用/(?),见非常感谢兄弟