@pit-front-end/utils
Version:
湖南创智艾泰克科技有限公司
82 lines (81 loc) • 3.05 kB
JavaScript
function c(e) {
const r = /^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\d)(?=.*?[!#@*&.?%~/+=$_^-])[a-zA-Z\d!#@*&.?%~/+=$_^-]{12,16}/, s = /(a(?=b)|b(?=c)|c(?=d)|d(?=e)|e(?=f)|f(?=g)|g(?=h)|h(?=i)|i(?=j)|j(?=k)|k(?=l)|l(?=m)|m(?=n)|n(?=o)|o(?=p)|p(?=q)|q(?=r)|r(?=s)|s(?=t)|t(?=u)|u(?=v)|v(?=w)|w(?=x)|x(?=y)|y(?=z)|z(?=a)){3}[a-z]/i, t = /(0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)|9(?=0)){3}\d/, o = /(q(?=w)|w(?=e)|e(?=r)|r(?=t)|t(?=y)|y(?=u)|u(?=i)|i(?=o)|o(?=p)|p(?=q) |a(?=s)|s(?=d)|d(?=f)|f(?=g)|g(?=h)|h(?=j)|j(?=k)|k(?=l)|l(?=a) | z(?=x)|x(?=c)|c(?=v)|v(?=b)|b(?=n)|n(?=m)|m(?=z)){3}[a-z]/i, n = /(\w)\1{3}/i;
function i(a) {
return [
"1qaz",
"2wsx",
"3edc",
"4rfv",
"5tgb",
"6yhn",
"7ujm",
"8ik,",
"9ol.",
"0p;/",
"=[;.",
"-pl,",
"0okm",
"9ijn",
"8uhb",
"7ygv",
"6tfc",
"5rdx",
"4esz"
].some((f) => a.toLowerCase().indexOf(f) > -1);
}
return r.test(e) ? n.test(e) || s.test(e) || t.test(e) || o.test(e) || i(e) ? !1 : !!l(e) : !1;
}
function d(e) {
const r = /^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\d)(?=.*?[!#@*&.?%~/+=$_^-])[a-zA-Z\d!#@*&.?%~/+=$_^-]{12,16}/, s = /(a(?=b)|b(?=c)|c(?=d)|d(?=e)|e(?=f)|f(?=g)|g(?=h)|h(?=i)|i(?=j)|j(?=k)|k(?=l)|l(?=m)|m(?=n)|n(?=o)|o(?=p)|p(?=q)|q(?=r)|r(?=s)|s(?=t)|t(?=u)|u(?=v)|v(?=w)|w(?=x)|x(?=y)|y(?=z)|z(?=a)){3}[a-z]/i, t = /(0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)|9(?=0)){3}\d/, o = /(q(?=w)|w(?=e)|e(?=r)|r(?=t)|t(?=y)|y(?=u)|u(?=i)|i(?=o)|o(?=p)|p(?=q) |a(?=s)|s(?=d)|d(?=f)|f(?=g)|g(?=h)|h(?=j)|j(?=k)|k(?=l)|l(?=a) | z(?=x)|x(?=c)|c(?=v)|v(?=b)|b(?=n)|n(?=m)|m(?=z)){3}[a-z]/i, n = /(\w)\1{3}/i;
function i(a) {
return [
"1qaz",
"2wsx",
"3edc",
"4rfv",
"5tgb",
"6yhn",
"7ujm",
"8ik,",
"9ol.",
"0p;/",
"=[;.",
"-pl,",
"0okm",
"9ijn",
"8uhb",
"7ygv",
"6tfc",
"5rdx",
"4esz"
].some((f) => a.toLowerCase().indexOf(f) > -1);
}
if (r.test(e)) {
if (n.test(e))
return "密码不能含有连续4位相同的数字或字母";
if (s.test(e))
return "密码不能含有4位连续的字母";
if (t.test(e))
return "密码不能含有4位连续的数字";
if (o.test(e))
return "密码不能含有4位键盘横向方向连续的字母";
if (i(e))
return "密码不能含有4位键盘斜向方向连续的字符";
if (!l(e))
return "密码不能出现连续字符(如123、abc)连续3位或3位以上";
}
return "您的密码复杂度太低(密码必须由数字、大小写字母、特殊字符组合,请输入12-16位),请重新设置密码";
}
function l(e) {
const r = e.split("");
let s = !0;
for (let t = 1; t < r.length - 1; t++) {
const o = r[t - 1].charCodeAt(), n = r[t].charCodeAt();
r[t + 1].charCodeAt() - n == 1 && n - o == 1 && (s = !1);
}
return s;
}
export {
c as passwordValidate,
d as passwordValidateMsg
};