1

我需要允许用户在文本框中只输入整数(33)和浮点数(33.343)。

下面是我的正则表达式查询,但它不能正常工作。它允许用户输入浮点值,但在 int 值上给出错误。但我也需要允许用户输入 int。当用户输入任何其他类型的值时,它工作正常并给出错误消息。

/^[0-9]*[.][0-9]*$/
4

3 回答 3

3

使点和它后面的部分成为可选的:

"^\d+(?:\.\d+|)$"

也更喜欢\d[0-9]不要使用,*因为那时你允许没有数字的任何一方的可能性.

这将接受:

1
1.23

但不是:

.1
23.

如果你想要那种行为,这取决于你。

于 2012-10-18T12:46:09.760 回答
3

尝试:

/^[0-9]+(?:\.[0-9]+)?$/
于 2012-10-18T12:47:22.337 回答
2

使用正则表达式模式

^(?=.*\d)\d*(?:\.\d*)?$

例如,这将匹配:

1234
123.
1.23
12.3
0.12
.123
于 2012-10-18T12:45:47.637 回答