我有一个简单的表达式需要编写,但是我对正则表达式真的不太熟悉。
我的限制是:最多1位数字,最多4位数字,允许更少
以下内容应该可以通过:
1
1.2
1.23
1.234
1.2345
这些应该失败。
10
10.1
1.23456
我最接近的是
\d\.\d{0,4}
,但它不能选择1,并且从第二个列表中选择了 0.1
和 1.2345
。我还应该说明,这是在用户键入时进行的检查,如果有所不同。
编辑
由于有很多回复涵盖了几个不同的点,我觉得我应该指定一些更多的内容,特别是因为有人可能会指引我走上更好的道路。我正在使用这个网页表单。它只需要允许用户在键入时满足这些条件,所以如果他们有“4”,并尝试输入“1”,它不会允许,但如果他们首先输入“。”,则会允许。或者不允许在他们做出类似“2.5345”的操作后输入,因为小数点后有4位数字。
0.1
是来自于失败列表中的10.1
,这意味着它接受了部分错误的输入。 - Cody Harness^\d(?:\.\d{0,4})?$
,2)用于最终验证^\d(?:\.\d{1,4})?$
。 - Wiktor Stribiżew.2
应该被允许。如果是这样,到目前为止所有的四个答案都会失败,因为它们要求有一个起始数字,而不是一个或更少的起始数字... - TessellatingHeckler