我有一个表单提交,我让人输入一个金额。
我让它工作得很好,拒绝$和除数字以外的任何东西,但它允许逗号,我似乎无法让它停止这样做。
代码是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