1
var validate = /^[a-zA-Z0-9]{4}$/;

我正在使用此验证输入数字或字母数字我正在检查

Indexof("@") == 0 or # ,%,&索引也是。

但现在我需要检查

 var isAccumMatch = (AccumulationString.indexOf("@") == 0 || AccumulationString.indexOf("#") == 0 || AccumulationString.indexOf("%") == 0 || AccumulationString.indexOf("&") == 0);
                       if(isAccumMatch)
                       {
                          var isAMatch = AccumulationString.length == 5 && validateACMSTR.test(AccumulationString);
                          if(!isAMatch)
                          {
                             alert("Value should be numeric or alpha numeric followed by @,#,&,%");
                             return false;
                          }
                       }

任何人都可以帮助我如何验证第一个字符@,#,%,&后跟数字或字母数字。

User Input : @A234, &5674, %ABC1, #123A
4

2 回答 2

1
/^[@#%&][a-ZA-Z0-9]{4}$/.test(AccumulationString)

应该返回您正在寻找的条件值。

于 2013-03-25T14:21:20.977 回答
1

您需要的正则表达式是/^[@#%&][a-zA-Z0-9]{4}$/

基本上你可以在一个字符组中粘贴几乎* 任何东西——它有点被方括号[].

字符组内具有特殊含义的字符有:^-]\。这些都应该被转义\以获得它们的字面意义。连字符-也可以放在组的开头或结尾而无需转义,但有些人认为这是不好的做法,因为它可能会意外地从 eg 更改为[0-9AZ-]eg[0-9A-Z]具有完全不同的含义,而[0-9AZ\-]至少给出了一个线索,即连字符是文字​​而不是范围定义的一部分。

于 2013-03-25T14:19:35.433 回答