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

标签 javascript html regex

我是 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

regex101 demo

  • ^ 匹配字符串的开头(防止在字符串中间匹配)
  • [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/

相关文章:

html - 某些页面 CSS/HTML 上的事件边框

javascript - 何时使用 node-mysql 关闭 MySQL 连接?

javascript - 修改一个 jQuery 函数来调整一个 div 的大小

javascript - If 语句在检查数组是否不包含单词时返回 undefined

javascript - 单击外部 div 以关闭 div

java - 如何使用正则表达式从 mailto 链接中提取信息

python - 匹配逗号或换行符但不能同时匹配两者的正则表达式

regex - 如何在两个已知标记之间进行最小匹配?

javascript - 在 JS 中迭代我的数组,但出现 "Cannot read property ' length' of undefined"错误

javascript - Firebase .OrderByChild() 不适用于 bool 值