javascript - 如何将 'aA1' 或 'Aa1' 或 '1aA' 与正则表达式匹配?

标签 javascript regex

我有一个文本框,想要将模式匹配为 [a-z]{1}[A-Z]{1}[0-9]{1}

    var x=/^[a-z]{1}[A-Z]{1}[0-9]{1}$/;

    if(!x.test(document.getElementById('name').value))
    {
        alert("enter the correct format");
        return false;
    }

它仅适用于值:aA1

如果出现这种情况该怎么办 这些值可以随机输入 像aA1、Aa1、1aA?

最佳答案

要以任意顺序匹配一组字符串,您可以使用前瞻。像这样的事情:

/^(?=.*a)(?=.*b)(?=.*c)[abc]{3}$/.test('cab')

语法 (?=whatever) 是正向前瞻,这意味着它检查匹配项而不提前匹配器的位置。因此,每个组都会在字符串中的任何位置查找您的字符。最后一部分 [abc]{3} 确保字符串中不存在其他字符,并且恰好有三个字符。如果可以使用倍数,请使用 [abc]+ 代替。

有关更详细的引用,请参阅 http://www.regular-expressions.info/lookaround.html .

关于javascript - 如何将 'aA1' 或 'Aa1' 或 '1aA' 与正则表达式匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12103415/

相关文章:

javascript - 单击按钮 div 显示 1 x 1(一次一个)

javascript - 将 xterm.js 集成到 Angular

javascript - 信息窗口 AngularJS 中的按钮

jquery - 从 WordPress 图像 URL 中删除图像宽度和高度

regex - Ansible:lineinfile 不断压缩我现有的行而不是向其附加文本

javascript - 选择图像区域并触发JS事件

javascript - nodemailer 不发送附件

java - 用正则表达式匹配两个url

java - 正则表达式获取java文件名

java - 如何使用 Jsoup 和/或正则表达式 Java 从 URL 中删除 html 标签