Javascript 同时包含不超过3个字母的正则表达式不应接受1A1
不应接受:1A1、AA11111、222AAA33A 仅允许3个字符,不允许超过3个字符 我试了一下,但失败了Javascript 同时包含不超过3个字母的正则表达式不应接受1A1,javascript,jquery,regex,Javascript,Jquery,Regex,不应接受:1A1、AA11111、222AAA33A 仅允许3个字符,不允许超过3个字符 我试了一下,但失败了 var patt = new RegExp("([A-Za-z]){4}"); var result = patt.test(DLnumber); if (result == true) { alert("No more than three alphabets are allowed"); return false; } 您的正则表达式需要考虑字母之间的非字母。我会
var patt = new RegExp("([A-Za-z]){4}");
var result = patt.test(DLnumber);
if (result == true) {
alert("No more than three alphabets are allowed");
return false;
}
您的正则表达式需要考虑字母之间的非字母。我会用这个正则表达式:
^(?!.*([a-z].*){4,}).*$
通过这种方式,您可以通过添加另一个
(?!…)
或(?=…)
您的正则表达式需要考虑字母之间的非字母。我会用这个正则表达式:
^(?!.*([a-z].*){4,}).*$
这样,您可以通过添加另一个(?!…)
或(?=…)
轻松添加更多需求
试试这个。看演示。Loohead会确保任何角色都不会出现超过3次
试试这个。看演示。Loohead会确保任何角色都不会出现超过3次
您可以这样做:
if (/^(?:[^a-z]*[a-z]){4}/i.test(DLnumber)) {
alert("No more than three alphabets are allowed");
return false;
}
- i修饰符使模式不区分大小写,因此所有模式的
与[a-z]
相同,[a-zA-z]
与[^a-z]
相同[^a-zA-z]
是字符串开头的锚(不需要,但在模式必须失败时,尤其要提高性能)^
是一个非捕获组(它什么也不做,它唯一的任务是将其他标记放在一起,然后您可以对所有组应用一个量词。)(?:…)
表示一组零个或多个非字母,后跟一个字母,并重复4次(?:[^a-z]*[a-z]){4}
if (/^(?:[^a-z]*[a-z]){4}/i.test(DLnumber)) {
alert("No more than three alphabets are allowed");
return false;
}
- i修饰符使模式不区分大小写,因此所有模式的
与[a-z]
相同,[a-zA-z]
与[^a-z]
相同[^a-zA-z]
是字符串开头的锚(不需要,但在模式必须失败时,尤其要提高性能)^
是一个非捕获组(它什么也不做,它唯一的任务是将其他标记放在一起,然后您可以对所有组应用一个量词。)(?:…)
表示一组零个或多个非字母,后跟一个字母,并重复4次(?:[^a-z]*[a-z]){4}
if (str.replace(/[^a-z]/gi, "").length>3) {
alert("No more than three alphabets are allowed");
return false;
}
它计算字符串中的字母字符…我想这可能就是您要查找的:
if (str.replace(/[^a-z]/gi, "").length>3) {
alert("No more than three alphabets are allowed");
return false;
}
它计算字符串中的字母字符…我认为这太复杂了。如果我们认为OP的模式是<代码> [AZ-Z] ,我认为“字母表”是任何字符。我猜我们只是被要求检查是否有三个以上的字符,这可以通过检查
/[a-z]/gi
的匹配数轻松测试。我认为这太复杂了。如果我们认为OP的模式是<代码> [AZ-Z] ,我认为“字母表”是任何字符。我猜我们只是被要求检查是否有超过三个字符,通过检查/[a-z]/gi