此脚本可以正常运行,无需空格即可验证字母数字。但我怎么还要包括最小长度应至少为3个字符?
var re = /^[A-Za-z0-9']+$/;
// Check input
if (re.test(document.getElementById(x).value)) {
// Style green
document.getElementById(x).style.background = '#ccffcc';
// Hide error prompt
document.getElementById(x + 'Error').style.display = "none";
return true;
} else {
// Style red
document.getElementById(x).style.background = '#e35152';
// Show error prompt
document.getElementById(x + 'Error').style.display = "block";
return false;
}
提前致谢。
答案 0 :(得分:2)
/^[A-Za-z0-9']{3,}$/;
. (Zero or more items)
+ (One or more items)
{n} (Exactly n items)
{n,m} (Between n and m items where n < m)
答案 1 :(得分:1)
将+
量词(这意味着一次或多次)更改为{3,}
(这意味着三次或更多次):
var re = /^[A-Za-z0-9']{3,}$/;
答案 2 :(得分:1)
您可以在正则表达式中使用适当的量词:
var re = /^[A-Za-z0-9']{3,}$/;
或者将您的验证重构为自己的功能,这将更易于维护:
var isValid = function(value) {
var re = /^[A-Za-z0-9']+$/;
if (!re.test(value)) { return false; }
if (value.length < 3) { return false; }
// further tests could go here
return true
}
答案 3 :(得分:0)
将正则表达式更改为:
var re = /^[A-Za-z0-9']{3,}$/;
量词{min,max}
表示从min
到max
次重复。如果您将其中任何一个退出,则表示结束无限制,因此{3,}
表示至少为3。