jquery仅对字母和数字进行REGEX验证

时间:2012-01-21 16:32:49

标签: javascript jquery

任何正文都可以告诉我使用我的文本框的正则表达式验证应该只使用字母和数字吗?

  var BLIDRegExpression = /^[a-zA-Z0-9]*$/;

    if (BLIDRegExpression.test(BLIDIdentier)) {
        alert('The BLID Identifier may only consist of letters or numbers and must be exactly five characters long.');
        return false;
    }

我正在使用这个,但它不起作用。任何人都可以告诉我。

由于

2 个答案:

答案 0 :(得分:5)

如果字符串匹配,则

.test返回true。我想你想要:

var BLIDRegExpression = /^[a-zA-Z0-9]{5}$/; // {5} adds the requirement that the string be 5 chars long

if (!BLIDRegExpression.test(BLIDIdentier)) {
    alert('The BLID Identifier may only consist of letters or numbers and must be exactly five characters long.');
    return false;
}

答案 1 :(得分:1)

扭转你的逻辑。 .test()匹配时返回true,不匹配时返回false。您希望在不匹配时执行if语句。如果您还希望它长度恰好为5个字符,那么您可以在正则表达式中使用{5}代替*,如下所示:

var BLIDRegExpression = /^[a-zA-Z0-9]{5}$/;

if (!BLIDRegExpression.test(BLIDIdentier)) {
    alert('The BLID Identifier may only consist of letters or numbers and must be exactly five characters long.');
    return false;
}