仅限JavaScript正则表达式检查号

时间:2017-11-17 21:09:39

标签: javascript regex

我想要一个以下值的正则表达式:

1) .1 = False.
2) 0.1 = True.
3) 1.1245 = True.
4) 1.2. = False.
5) 1.24.35 = False.
6) 21.152 = true.

此正则表达式应检查字符串是否表示整数,或者仅由数字和表示小数点的单个.组成。

我正在使用:/^[\+\-]?\d*\.?\d+(?:[Ee][\+\-]?\d+)?$/"1.2."true

4 个答案:

答案 0 :(得分:2)

您将第一个数字设置为无或更多\d*,您应该使用\d+,然后它将适用于您想要的案例。

还可以查看here

修改:^[\+\-]?\d+(\.?\d+(?:[Ee][\+\-]?\d+)?)?$

答案 1 :(得分:0)

你的正则表达式似乎比它需要的更复杂。为了满足您的要求(以数字开头,以数字结尾,最多一个点),您可以使用以下内容:

(^\d+\.\d+$)|(^\d+$)

编辑: 甚至更简单:

^\d+(\.\d+)?$

答案 2 :(得分:0)

如果您使用以下正则表达式

  

(?:\。* d)?\ d +

它只匹配实数。

如果输入类似于1.2.3,则会返回1.2

希望它有所帮助!

答案 3 :(得分:0)

你把点放在错误的地方这应该有用

[\+\-]?[0-9]+(\.[0-9]+(?:[Ee][\+\-]?[0-9]+)?)?