Javascript使用最小文本长度验证字母数字

时间:2014-09-11 11:40:07

标签: javascript html validation

此脚本可以正常运行,无需空格即可验证字母数字。但我怎么还要包括最小长度应至少为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;
}

提前致谢。

4 个答案:

答案 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}表示从minmax次重复。如果您将其中任何一个退出,则表示结束无限制,因此{3,}表示至少为3。

相关问题