【发布时间】:2018-02-15 21:27:03
【问题描述】:
我正在尝试验证密码,但我遇到了问题。现在,我有下一个验证器的输入:
<form name="RegisterForm">
<input type="password" name="password"
ng-minlength="8"
ng-maxlength="20"
space-restricted
numbers-required
lowercase-required
uppercase-required
special-characters-required
password-validator
required>
</form>
这里是小写验证器的示例:
function lowercaseRequired() {
return {
require: 'ngModel',
restrict: 'A',
link: link
};
}
function link(scope, element, attrs, ngModel) {
ngModel.$parsers.unshift(function(value) {
var validationPattern = /(?=.*[a-z])|^$/,
isValid = validationPattern.test(value);
ngModel.$setValidity('lowercaseRequired', isValid);
return isValid ? value : undefined;
}
我如何处理至少四分之三的验证?
- 小写
- 大写
- 特殊字符
- 数字
我考虑过大的正则表达式,但我认为这是个坏主意。因此,我需要获得一个包含以下内容的密码:最少 8 个字符,最多 20 个字符,不包含空格,并且至少包含四分之三的验证。
【问题讨论】:
-
@MJNBelief,谢谢!
-
@withrp 你可能会受益于Reference -Password Validation
标签: javascript angularjs regex validation angularjs-directive