0
我有一些jQuery验证代码,必须通过一些Selenium测试。但是,每次运行测试时,不同的测试都会失败,并且不同的测试通过。例如,在一次测试中,缩短密码将失败并且密码过长。但是,如果我重新运行测试,则可能会发生相反的情况!jQuery /正则表达式失败硒IDE测试
这是正则表达式:
var password = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*(_|[[email protected]#$%^&*.,?])).{6,20}$/;
这是jQuery的:
if($('#password').val() ==""){
$('#passwordErrorMsg').text("Your password must be between 6 and 20 characters. It must contain a mixture of upper and lower case letters, and at least one number or symbol.");
}
else if(password.test($('#password').val())){
$('#passwordErrorMsg').text("OK");
}
else($('#passwordErrorMsg').text("Your password must be between 6 and 20 characters. It must contain a mixture of upper and lower case letters, and at least one number or symbol."));
});
在经过Selenium测试将是有益的和感激,感谢任何帮助。
@roasted,我认为正则表达式是正常的......它只是用向前检查每个必要的符号,然后测试字符串长度。 @ user1766599。你可以从你的第四个前瞻中删除'_ |'。它应该由角色类来照顾。 (虽然这不会解决你的问题)。此外,你最lasst的错误信息不适合正则表达式。你的正则表达式需要一个数字**和**符号。 –
好的,我没看过“它必须包含大写和小写字母的混合体,并且至少包含一个数字或符号。” ... –