好吧,我试图在标题中总结它。
我需要一个正则表达式来匹配数字和逗号,但不是以 0 开头的数字,除非它是 0,number
我的用户在字段中输入小时数,因此他们必须能够输入 0,3 小时,但不允许输入 002 或 09。
我有这个注册前
^[0-9]*\,?[0-9]+$
如何将其扩展为不允许以 0 开头,除非 0 后跟逗号
好吧,我试图在标题中总结它。
我需要一个正则表达式来匹配数字和逗号,但不是以 0 开头的数字,除非它是 0,number
我的用户在字段中输入小时数,因此他们必须能够输入 0,3 小时,但不允许输入 002 或 09。
我有这个注册前
^[0-9]*\,?[0-9]+$
如何将其扩展为不允许以 0 开头,除非 0 后跟逗号
这应该适合您的需求:
^0,\d*[1-9]|[1-9]\d*$
0,\d*[1-9]
一:0,后跟逗号,后跟 0 或多个数字,后跟 1 到 9 之间的一位数字[1-9]\d*
: 1 到 9 之间的数字,后跟零个或多个数字火柴:
不匹配:
另一个 :)
^(0|[1-9]\d*(|,\d+)|0,\d+)$
您无需将所有内容强制转换为单个正则表达式即可执行此操作。
如果您使用多个正则表达式会更清楚,每个正则表达式都进行特定检查。
if ( /^[0-9]+,[0-9]+$/ || /^[1-9][0-9]*$/ )
在这里,我们进行了两种不同的检查。“要么这个匹配,要么另一个匹配”,然后你不必将两个条件都塞进一个正则表达式中。
使用宿主语言的表达形式,而不是试图将逻辑塞进正则表达式。