javascript - RegExp 文字未被识别

标签 javascript jquery regex

我正在尝试创建一个正则表达式,以确保用户输入 8 个字符,包括一个大写字母和一个数字。

HTML

<input type="password">

到目前为止我有这个

JS

var validator = '^(?=.*[A-Z])(?=.*[0-9]).{8,}$'

我想做的是:

   $('input').on('blur', function() {
       if ($(this).val().match(validator)) {
           alert('Correct!')
       }
    });

但由于某种原因,它不会通过。有什么想法吗?

最佳答案

您拥有的是一个字符串。您需要声明一个正则表达式文字:

var validator = /^(?=.*?[A-Z])(?=.*?[0-9]).{8,}$/;

性能更好的正则表达式将是:

var validator = /^(?=[^A-Z]*[A-Z])(?=\D*\d).{8,}$/;

关于javascript - RegExp 文字未被识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28997213/

相关文章:

javascript - Visual Studio 任务运行器 "SyntaxError: Use of const in strict mode."

javascript - 如果没有选择单选按钮,则显示alert()

javascript 将数组的元素映射到 HTML DIV 模板

python - 替换 XML 文件中的单词

python - 无法从存储在网站 : Python Program 的字符串中可靠地匹配 Base 64 加密字符串

javascript - 在 Internet Explorer 中调试 JavaScript 时浏览器无法交互

javascript - 向孙子添加事件处理程序

javascript - 使用 Promise 循环遍历 ajax 函数

Python - 正则表达式搜索以给定文本开头和结尾的字符串

javascript - 如何使用chrome扩展名编辑YouTube字幕