我是javascript正则表达式的新手。我想用valiadate匹配某些条件的字符串
以下是条件
1.String只包含9个字符
2.前两个字母必须是字母。
3.第三封信必须是' - '这个。
4.剩余6个字母必须是数字
function validateInput(str){
if(str.length>9){
alert("Exeeds maximum limit");
}
}
如何使用正则表达式完成其余的验证?
答案 0 :(得分:5)
以下正则表达式完全符合您的描述:
/^[a-z]{2}-\d{6}$/i
^
匹配字符串的开头(阻止字符串中间的匹配)[a-z]{2}
匹配1个字母,重复2次(因此匹配2个字母)。-
匹配文字破折号\d{6}
匹配一个数字,重复6次(6位数)。$
匹配字符串的结尾。/i
- 不区分大小写的匹配项。所以[a-z]
也匹配大写字母。<强>代码强>
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;
注意:使用document.body.innerText
作为在代码段中输出的方式,但不应在代码中使用