正则表达式允许小数,但没有逗号

时间:2012-04-16 05:37:04

标签: regex numbers

我需要一个允许小数但没有逗号的正则表达式。如: 1200.00 要么 50.00
要么 40 要么 1 该表达式用于验证,以确保人们将价格作为数字,但没有逗号。我目前有一个允许逗号,数字和小数的正则表达式,但我似乎无法得到逗号。

这是我当前的正则表达式,它不允许逗号或小数,但我想要小数点

/^[0-9\ ]+$/,

感谢您的帮助。

4 个答案:

答案 0 :(得分:3)

这样的事情应该有效:^\d+(\.\d{2})?$

这基本上说明如下:

  • ^\d+:从字符串的开头(^)开始,并匹配一个或多个数字(\d+)。
  • (\.\d{2})?:匹配句点字符(\.),后跟2位数字(\d{2})。问号表示括号内的值可以存在或不存在,这意味着它将匹配模式的1或0个实例。
  • $:字符串必须在此结束。

答案 1 :(得分:1)

要匹配货币,您可以使用此正则表达式

^(?:[1-9]\d+|\d)(?:\.\d\d)?$

答案 2 :(得分:0)

你可能忘了逃避正则表达式.运算符(这意味着匹配任何字符)。只是猜测,因为你在你的问题中忘记了一条重要信息:你已经尝试过的失败的正则表达式!

答案 3 :(得分:0)

允许0或1个点,仅包含前后数字......

/^\d*\.{0,1}\d*$/