我正在尝试找出以下正则表达式:
/^[0-9]{2}-[0-9]{2,3}[a-zA-z]{0,1}/g
在我的例子中。
以下应通过:00-45、00-333、33-333a、55-34a
以下应该失败:33-3333、22-22dd、22-2233
这是我的截图:
但是应该失败的一次并没有失败。在我的 javascript 代码中,我只是做了一个测试:
var regExp = new RegExp(exp);
if(regExp.test(test1))
alert('pass');
else
alert('fail');
有没有办法让正则表达式测试整个字符串?示例 33-3333 由于 33-333 而通过,但由于还有另一个 3 我希望它失败,因为第四个 3 将根据字符规则进行测试?
最佳答案
- 您的输入中缺少结束 anchor
$
字符类中的 A-z
也会匹配不需要的字符,您实际上需要A-Z
{0,1}
可以缩短为?
试试这个正则表达式:
/^[0-9]{2}-[0-9]{2,3}[a-zA-Z]?$/
关于javascript - 正则表达式不匹配字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37078221/