Javascript 限制用户在小数点前输入7位以上,小数点后输入3位以上

Javascript 限制用户在小数点前输入7位以上,小数点后输入3位以上,javascript,regex,Javascript,Regex,我想从文本框中的用户获取用户输入,但我需要验证它 1.小数点前不应超过7位 2.小数点后不应超过3位 实际上我已经知道了第二部分,但第一部分仍然是个问题 我的正则表达式是: /^([0-9]{0,7})+(\.[0-9]{1,3})?$/ 告诉我哪里出了问题 建议一个有效的正则表达式/^\d{1,7}\.\d{1,3}$/ 这将匹配1-7位数字和1-3位数字。需要整数还是小数?.333或333有效吗?您不需要加号,我会使用\d而不是[0-9],但我不知道它是否更快: /^\d{0,7}(\.\

我想从文本框中的用户获取用户输入,但我需要验证它

1.小数点前不应超过7位

2.小数点后不应超过3位

实际上我已经知道了第二部分,但第一部分仍然是个问题 我的正则表达式是:

/^([0-9]{0,7})+(\.[0-9]{1,3})?$/
告诉我哪里出了问题


建议一个有效的正则表达式

/^\d{1,7}\.\d{1,3}$/


这将匹配1-7位数字和1-3位数字。需要整数还是小数?.333或333有效吗?

您不需要加号,我会使用
\d
而不是
[0-9]
,但我不知道它是否更快:

/^\d{0,7}(\.\d{1,3})?$/
您的正则表达式失败的原因是您在第一次测试后有了
+
符号,这意味着“一个或多个匹配”。因此,它正在寻找一个或多个
[0-9]{0,7}
集合,这些集合将匹配小数点之前的任意数量的字符