任何正文都可以告诉我使用我的文本框的正则表达式验证应该只使用字母和数字吗?
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;
}
我正在使用这个,但它不起作用。任何人都可以告诉我。
由于
答案 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;
}