验证一个点之间的数字

时间:2014-05-06 16:26:27

标签: regex

尝试获取一个表达式,将所有这些数字验证为true “1.1”,“11.11”,“111111.11”,“33.1”,“333.11”

基本上是一个点之前和之后的任何整数。

这些

会失败

“1。”,“。1”,“1.a”,“a.a”,“a.1”,“1111.2323d111”,“1111.11111.1111”

我有这个表达方式 “^ [0-9] {1,2}([。] {1} [0-9] {1,2})?$

但它未能检测到点前后2位以上的任何数字 所以我改成了 “^ [0-9]的([。] {1} [0-9] )?$ 现在它也验证了.1和1.

需要两者的某种组合。 请帮忙

2 个答案:

答案 0 :(得分:5)

^\d+\.\d+$

这应该可以解决问题。

答案 1 :(得分:1)

你在错误的地方使用了错误的量词。

在:

^[0-9]{1,2}([.]{1}[0-9]{1,2})?$
      ^^^^^

{1,2}表示1或2或前一个字符/组/类。如果您想匹配至少一个,请将其更改为+

^[0-9]+([.]{1}[0-9]{1,2})?$

{1}是多余的,您可以删除它。

^[0-9]+([.][0-9]{1,2})?$