Sco*_*own 9 javascript regex string string-matching
我有一个简单的正则表达式:
[A-z]{2}[0-9]{3})$/g 在以下内容中:
regForm.submit(function(){
if ($.trim($('#new-usr').val()).match(/([A-z]{2}[0-9]{3})$/g)) {
alert('No');
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
这是正确阅读的东西,如'ab123'提供警报,'ab1234'但没有.但是,'abc123'仍在抛出警报.我需要它,所以当它只有2个字母后跟三个数字时才会发出警报.
Vla*_*lad 12
试试吧/^[A-z]{2}[0-9]{3}$/g.
您需要指定需要匹配整个字符串.否则,您将获得匹配的突出显示部分:a bc123.
(我省略了()'s,因为你真的不需要这个组.)
顺便说一下,你确定你想要[A-z]而不仅仅是[A-Za-z]吗?
角色类[A-z]可能不是你需要的.
为什么?
字符类[A-z]匹配一些非字母字符,例如[,]等等.
JS小提琴链接来证明这一点.
这个W3school教程推荐错误.
如果只需要小写字母使用[a-z]
如果只需要大写字母使用[A-Z]
如果你需要两个使用:[a-zA-Z]
如果要匹配字符串,如果它在字符串中的任何位置有2个字母后跟3个数字,只需$从模式中删除结束锚点:
[a-z]{2}[0-9]{3}
Run Code Online (Sandbox Code Playgroud)
如果你想匹配一个字符串,如果它有2个字母后跟3个数字,没有其他任何东西都使用start anchor ^和end anchor $as
^[a-z]{2}[0-9]{3}$
Run Code Online (Sandbox Code Playgroud)