Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法识别RegExp文本_Javascript_Jquery_Regex - Fatal编程技术网

Javascript 无法识别RegExp文本

Javascript 无法识别RegExp文本,javascript,jquery,regex,Javascript,Jquery,Regex,我试图创建一个正则表达式,确保用户输入8个字符,包括一个大写字母和一个数字 HTML <input type="password"> 我想做的是: $('input').on('blur', function() { if ($(this).val().match(validator)) { alert('Correct!') } }); 但由于某种原因,它不会通过。有什么想法吗?你有的只是一根绳子。您需要声明一个正

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

HTML

<input type="password">
我想做的是:

   $('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,}$/;

奇怪的是,在修改了我的
验证器
变量后,我仍然没有在条件中得到警报响应。我正在尝试检索输入的值。我会上传HTML给你一个更好的想法。对不起,这并没有告诉我这个正则表达式的匹配值。你能在你的代码中放一个
控制台.log
,然后告诉我输入字符串的值是多少。找出它不起作用的原因。我需要某种类型的事件来启动验证。我将编辑我的JS并将其标记为正确。谢谢你的帮助!
var validator = /^(?=[^A-Z]*[A-Z])(?=\D*\d).{8,}$/;