输入数字和的正则表达式.允许逗号



我有一个表单提交,我让人输入一个金额。

我让它工作得很好,拒绝$和除数字以外的任何东西,但它允许逗号,我似乎无法让它停止这样做。

代码是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,10000.00,1000和我不希望接受逗号

提前感谢安迪

你可以让你的正则表达式更有限制性,像这样:

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

只允许整数或十进制数,但不允许逗号或$

你可以试试:

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

  • 1000 -匹配
  • 1000.00 -匹配
  • 1,000.00 -不匹配
  • 1000 -不匹配

匹配任意长度的整数和长度为2的可选小数。试试下面的链接。

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

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

的例子:

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

编辑:不包括美元和单词字符https://regex101.com/r/tK5zU7/1

最新更新