JavaScript RegExp.test()没有返回true

时间:2015-04-15 02:46:55

标签: javascript regex

我正在尝试验证密码是否符合我指定的模式。我从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对象。标签,我并不认为这种情况会有所不同。

0 个答案:

没有答案