我有正则表达式验证器,表达式如下:
^\d{1,4}(\,\d{1,3})?$
我不想验证下一种格式:
最小3位小数的十进制数字,如0,125 1,15,0,5但不是(1,1234)即可,但是,用户可以写出5位数,如(12345,54321 ......)
排除0,所以如果用户只写0,则会出现错误,但用户可以写0,5或0,125 ... 我不知道如何管理 < / p>
所以除了方案2之外一切正常。我不知道如何只排除0 ...我可以用正则表达式验证器来做,或者我应该在函数中尝试使用自定义验证器(检查值是否为0)
答案 0 :(得分:2)
您可以禁止该号码包含negative lookbehind的所有零。这也会使所有由零和点组成的条目无效,但这可能是一件好事:很可能因为你不想要一个独立的零,你不想要00
,000
,或0.000
:
^(\d{1,4}(\.\d{1,3})?)(?<!^[0\.]+)$
// ^^^^^^^^^^^^
// |||
// The lookbehind part
我添加到表达式中的部分会检查字符串是否完全由零和点组成。这是demo on ideone。