用于验证特殊字符串的Javascript正则表达式

时间:2015-11-14 14:51:18

标签: javascript html regex

我是javascript正则表达式的新手。我想用valiadate匹配某些条件的字符串

以下是条件

1.String只包含9个字符

2.前两个字母必须是字母。

3.第三封信必须是' - '这个。

4.剩余6个字母必须是数字

function validateInput(str){
   if(str.length>9){
    alert("Exeeds maximum limit");
  }
}

如何使用正则表达式完成其余的验证?

1 个答案:

答案 0 :(得分:5)

以下正则表达式完全符合您的描述:

 /^[a-z]{2}-\d{6}$/i

regex101 demo

  • ^匹配字符串的开头(阻止字符串中间的匹配)
  • [a-z]{2}匹配1个字母,重复2次(因此匹配2个字母)。
  • -匹配文字破折号
  • \d{6}匹配一个数字,重复6次(6位数)。
  • $匹配字符串的结尾。
  • 模式/i - 不区分大小写的匹配项。所以[a-z]也匹配大写字母。

<强>代码

&#13;
&#13;
function validateInput(str){
    if(/^[a-z]{2}-\d{6}$/i.test(str)){
        document.body.innerText += str + "\t- Valid input\n";
    } else {
        document.body.innerText += str + "\t- Invalid input\n";
    }
}

validateInput("xY-123456");
validateInput("abc-12345");
&#13;
&#13;
&#13;

注意:使用document.body.innerText作为在代码段中输出的方式,但不应在代码中使用