0

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

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

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

谢谢你的帮助。

4

5 回答 5

3

像这样的东西应该工作:^\d+(\.\d{2})?$

这基本上说明了以下内容:

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

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

^(?:[1-9]\d+|\d)(?:\.\d\d)?$
于 2012-04-16T05:38:49.173 回答
0

允许 0 或 1 个点,前后只有数字...

/^\d*\.{0,1}\d*$/
于 2012-04-16T05:51:00.410 回答
0

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

于 2012-04-16T05:38:58.940 回答
0

检查双/整数类型的价格。(不能输入逗号,只能输入一位小数)

 r'^(?:[1-9]\d+|\d)(?:\.\d*)?$';
于 2021-09-20T08:59:11.960 回答