输入数字的正则表达式。允许使用逗号

时间:2015-06-04 17:12:29

标签: regex

我有一份表格提交,我让这个人输入金额。

我有理由拒绝$和除数字之外的任何东西,但它允许使用逗号,我似乎无法让它停止这样做。

代码是ColdFusion,但它不是CF问题,而是RegEx问题。

 <cfinput type="Text" 
  name="sp_price" 
  value="0" 
  message="Add-on Price - Numbers Only" 
  validate="regular_expression" 
  pattern="^[0-9].*$" required="No" size="5">

接受1000 1000.00和1,000.00以及1,000而且我不想接受逗号。

提前致谢 安迪

3 个答案:

答案 0 :(得分:1)

你可以像这样使你的正则表达式更具限制性:

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

只允许整数或十进制数,但不允许使用逗号或$等。

答案 1 :(得分:1)

你可以试试这个:

^\d*(\.\d{2})?$

  • 1000 - 匹配
  • 1000.00 - 匹配
  • 1,000.00 - 不符合
  • 1,000 - 不符合

它匹配任意长度的完整数字以及长度为2的可选小数。请尝试以下链接。

https://regex101.com/r/kN8zL0/1

答案 2 :(得分:0)

如果要排除字符,格式为[^,]

示例:

pattern="^([0-9]|[^,$\w])*$"

修改:排除美元和字词https://regex101.com/r/tK5zU7/1