我正在寻找一种方法来检查用户为可选逗号的正确位置输入的数字。
例如
1,000,000.00 = correct
1000000 = correct
1,00,000.00 = incorrect
,100,000 = incorrect
所以看起来我需要检查左边至少有一个数字和逗号右边有3个数字,还是有RegEx方式来做这个?
答案 0 :(得分:5)
/^(?:\d+|\d{1,3}(?:,\d{3})*)(?:\.\d+)?$/
答案 1 :(得分:2)
你打算用它做什么?或换一种方式,为什么要关心?为什么不删除所有逗号并将其转换为数字类型?
答案 2 :(得分:2)
查看此网站:http://blog.stevenlevithan.com/archives/commafy-numbers
以下是代码段:
String.prototype.commafy = function () {
return this.replace(/(^|[^\w.])(\d{4,})/g, function($0, $1, $2) {
return $1 + $2.replace(/\d(?=(?:\d\d\d)+(?!\d))/g, "$&,");
});
}
Number.prototype.commafy = function () {
return String(this).commafy();
}
您可以做的是替换所有逗号,然后使用此代码自行添加逗号。
希望有所帮助。
答案 3 :(得分:0)
Here’s a pattern可以回答您的问题。那里还有许多与数字相关的模式,包括那些可维护的模式 - 似乎没有人担心过。