我需要编写正则表达式,它可以禁止输入在输入开始时有两个连续的零
我跟随正则表达式 / [^ 0-9] + /克 这有一个问题,因为它允许在输入开始时有多个零是错误的,理想情况下我想要一些可以在开始时允许一个零的东西,如果用户首先输入零,然后是任何数字,但在开始时不再为零有效输入应为0,1,01,099,100,10000000,980980567000等 输入无效00,001,00100,00100000,000087990432等
答案 0 :(得分:2)
匹配无效输入:add eax, ebx
匹配有效输入:EAX
/^00\d*/
代表字符串
的开头
/^(?!00)\d/*
匹配两个连续的零
^
是两个连续零的负前瞻
00
匹配任何数字序列
答案 1 :(得分:0)
要匹配字符串开头的任何静态字符串(包括“00”),您可以使用^
锚点。
要匹配以“00”开头的字符串,您的正则表达式将为/^00/
。如果您需要特定的数字字符串/^00[0-9]*/
。
答案 2 :(得分:0)
Regexp匹配器很擅长说什么必须匹配,但告诉匹配器什么是不匹配的是一个小技巧。要取消匹配以00
开头的所有字符串,您必须匹配以0
开头的所有字符串以及以0
开头的所有字符串都不会继续使用0
(作为空字符串有效,因为字符串0
不以00
开头),所以一个这样的正确表达式可能是:
^[^0].*$|^0([^0].*)?$
有关详细信息,请参阅demo。