2016-08-12 102 views
0

可以在任何你帮我用正则表达式,这将接受这些:JavaScript的正则表达式来接受逗号分隔符(千)和圆点分隔(小数)数

每千逗号将被接受。在数

不得少于4小数点我一直在测试这个模式,但未能在某些情况下:

^\d+(\,\d+{1.3} \.d{1.4})*$ 

有效输入:

1 
11 
111 
1,111 
1,111,111 
1.1111 
11.1111 
111.1111 
1,111.1111 

无效输入:

Any letter 
1,1 
1.1 
1.11 
1,11.11 
1,111.1 

主要标准是: (4位小数点a强制性)。 (每千3个数字必须有一个逗号。)

+0

你搜索你问过吗? - >右边的相关问题有你应该尝试的答案。 – epascarello

+0

这个不清楚:'1.1','1.11'和'1,111.1'似乎是有效的。 *数字不超过4个小数点*表示可以有1到4个数字。但是,在底部写入* 4个小数点是强制性*。如果最后一条语句是正确的,则需要'^(?:\ d {1,3}(?:,\ d {3})* | \ d +)(?:\。\ d {4})?$'或'^ \ d {1,3}(?:,\ d {3})*(?:\。\ d {4})?$'' –

+0

感谢您注意Wiktor,我只编辑了信息,少于4位小数点。 –

回答

1

这是比

/^\d\d?\d?(,\d\d\d)*(\.\d\d\d\d)?$/ 

更复杂或者如果你喜欢

/^\d{1,3}(,\d{3})*(\.\d{4})?$/ 
+0

我其实[建议已经]和OP做了(http://stackoverflow.com/questions/38918783/javascript-regex-to-accept-numbers-with-comma-separator-thousands-and-dot-sepa#comment65194428_38918783)不确认它正在工作。 –

相关问题