2012-04-13 18 views
0

现在,我使用这个检查,如果某个值是数字:变化Numric Aatch在JavaScript中接受点

(variable.match(/^[\d]*$/)) 

我怎么能修改代码,以便它会接受一个“”或期间。我查看了其他网站,我似乎无法找到任何可以让它接受“。”的内容。不接受信件。谢谢,谢谢。

回答

1

(variable.match(/^[\d]*(\.\d+)?$/)) 这将接受数有或没有点......但如果有一个点 - 必须有一个号码后,

这个字符串都是有效的:01,12.3,0.23,12, 0.3 ....

这个字符串是无效的:12(与点),1.1.1

希望我帮...

+0

谢谢,那正是我所需要的。 – 2012-04-13 22:18:28

+0

欢迎您:)) – 2012-04-13 22:37:17

1

这也将工作,但它并不需要点后的数字(取决于您的要求)

(variable.match(/[0-9]+\.?([0-9]+?)?/)) 
+0

你的正则表达式中的点会引用像“1:1”这样的字符串的任何字符,例如也会返回true - 你应该反斜杠点... – 2012-04-13 21:56:44

+0

固定,谢谢指出它out – GillesC 2012-04-13 22:02:07

0

首先,该正则表达式会让你失败,因为它会匹配一个空字符串。

但是,如果你想匹配的数字和时间(而不是空字符串)做到这一点:

(variable.match(/^[\d.]+$/)) 

要知道,这将匹配的东西,如:

`1234.234.34....1234..3` 

如果您的需求唐不允许,请给我们一些关于您的要求的更多信息。

干杯

+0

不需要在字符类中跳过'.'。 – ThiefMaster 2012-04-13 21:59:33

+0

@ThiefMaster经过这么多年,我才刚刚才了解到这一点,并且很难适应它!感谢提醒,答案已更新。 – Madbreaks 2012-04-13 22:00:25