我是 javascript 正则表达式的新手。无论如何我想验证一个符合某些条件的字符串
条件是
1.String只包含9个字符
2.前两个字母必须是英文字母
3.第三个字母必须是'-'这个。
4.其余6个字母必须是数字
function validateInput(str){
if(str.length>9){
alert("Exeeds maximum limit");
}
}
我如何使用正则表达式进行其余验证?
最佳答案
以下正则表达式与您所描述的完全匹配:
/^[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");
注意:使用 document.body.innerText
作为在代码片段中输出的方式,但不应在您的代码中使用
关于用于验证特殊字符串的 Javascript 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33709644/