我需要允许用户只在文本框中输入integer(33)和float(33.343)。
以下是我的Regex查询,但它运行不正常。它允许用户输入浮点值但在int值上给出错误。但我还需要允许用户输入int。当用户输入任何其他类型的值时,它工作正常并给出错误消息。
/^[0-9]*[.][0-9]*$/
答案 0 :(得分:3)
制作点和可选后的部分:
"^\d+(?:\.\d+|)$"
也更喜欢\d
而不是[0-9]
,请不要使用*
,因为这样你就不允许在.
这将接受:
1
1.23
但不是:
.1
23.
如果你想要这种行为,那取决于你。
答案 1 :(得分:3)
尝试:
/^[0-9]+(?:\.[0-9]+)?$/
答案 2 :(得分:2)
使用正则表达式
^(?=.*\d)\d*(?:\.\d*)?$
这将匹配例如:
1234
123.
1.23
12.3
0.12
.123