我想制作正则表达式,因此它只匹配下面的值,但是我想这样做,所以你必须至少有一个(我知道它与“+”符号一起使用)az字母,但我不知道不知道在哪里放“+”使其正常工作。对此有何帮助?
.match(/^[0-9a-z]{3,10}$/i)
修改 它应匹配“12a”之类的字符串,但它不应与“123”匹配,因为它必须至少有一个a-z。
if( ! ($Username.match(/^[0-9a-z]{3,10}$/i) && $Username.match(/[a-z]/i)) ) {
return false;
}
修改 感谢Felix现在上面的示例代码非常完美。
答案 0 :(得分:3)
假设你的意思是:
然后,实现这一目标的最简单方法是:
foo.match(/^[0-9a-z]{3,10}$/i) && foo.match(/[a-z]/i);
答案 1 :(得分:2)
你不能一步到位。你谈到的表达方式并不常见。你必须分几个步骤。只需与您当前的表达式匹配,然后将其与/[a-z]/
表达式匹配。
答案 2 :(得分:0)
我相信这会进行过滤,但你必须分别检查字符数:
^[0-9a-z]*[a-z]+[0-9a-z]*$