我正在尝试验证密码是否符合我指定的模式。我从http://html5pattern.com/获得了密码模式。它应验证我的密码是否包含大写,小写和数字。我检查了字符串' Asdf1'在上面的网站上,它工作正常。我还将我的正则表达式添加到W3Schools"自己试试"示例,它也返回TRUE。但是,当我尝试在我的代码中检查字符串模式时,它返回FALSE,就像在JSFiddle中一样:
https://jsfiddle.net/rnwilis/9okh6ppc/5/
这是我的命名功能:
function validatePassword(data){
var testStr = "Asdf1";
var pattern = new RegExp('^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).*$', 'g');
var result = pattern.test(testStr);
return result;
}
正如您所看到的,我在Fiddle中创建了一个自动执行匿名函数。这是一个命名函数,我将在我的代码中调用它。我对字符串进行了硬编码,试图获得预期的结果。最终testStr =数据,因为我将用户输入密码传递给指定的函数。我还尝试使用和不使用'#39;来创建RegExp对象。标签,我并不认为这种情况会有所不同。