2009-12-02 97 views
1

后,我想从用户的用户输入的文本框,但我需要验证它限制用户输入decimel之前超过7个位数和3 decimel

1.It应该不会超过7 decimel前位

2.it decimel后应该不会超过3个位数

我竟然想通了,第二部分,,但是第一部分仍然是一个问题 我的正则表达式为:

/^([0-9]{0,7})+(\.[0-9]{1,3})?$/ 

告诉我在哪里要去错

推荐一个有效的正则表达式

回答

0

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

这将与1-7位点1-3位。要么是整数还是小数? .333或333是否有效?

3

你不需要加了,我会用\d代替[0-9],但我不知道这是任何更快:

/^\d{0,7}(\.\d{1,3})?$/ 

您正则表达式失败的原因是,你有+在第一次测试后签字,意思是“一次或多次比赛”。所以它正在寻找一组或多组[0-9]{0,7}这将匹配小数点前的任何数量的字符。