2.16 专家登录修改密码,用户弱口令策略修改

This commit is contained in:
jl-zhoujl2
2023-02-16 15:03:29 +08:00
parent bfc20f2dc7
commit 5437ab15a6

View File

@ -309,10 +309,10 @@ const Index: React.FC<{}> = () => {
}
const handleOk = () => { // 确定修改密码
if (changeForm.getFieldValue("newPassword") !== changeForm.getFieldValue("newPassword1")) {
message.warn('两次密码输入不一致,请重新输入')
} else {
changeForm.validateFields().then(res => {
changeForm.validateFields().then(res => {
if (changeForm.getFieldValue("newPassword") !== changeForm.getFieldValue("newPassword1")) {
message.warn('两次密码输入不一致,请重新输入')
} else {
setSping(true);
const date = {
identityCard: changeForm.getFieldValue("identityCard"),
@ -330,9 +330,9 @@ const Index: React.FC<{}> = () => {
}
}).finally(() => {
setSping(false);
});;
})
}
});
}
})
}
//浏览器类型
const BrowserType = () => {
@ -652,62 +652,65 @@ const Index: React.FC<{}> = () => {
<Form.Item
label="新密码"
name="newPassword"
// rules={[
// {
// required: true,
// validator: (rule, value, callback) => {
// const oNumber = new RegExp(/\d/);
// const oLetter = new RegExp(/[a-zA-Z]/);
// const oSpecial = '.~!@#$%^&*()_+=-{}|:<>?,./[]-;\\"';
// if (!value) {
// callback('请输入新密码');
// return;
// }
// if (value.length < 6) {
// callback('密码不能小于六位至少含字母、数字、特殊字符其中的2种');
// return;
// }
// try {
// [...value].forEach(val => {
// if (
// !(
// oNumber.test(val) ||
// oLetter.test(val) ||
// oSpecial.indexOf(val) >= 0
// )
// ) {
// throw new Error();
// }
// });
// } catch (e) {
// callback('密码不能小于六位至少含字母、数字、特殊字符其中的2种');
// }
// const contain: boolean[] = [];
// [...value].forEach(val => {
// if (oNumber.test(val)) {
// contain[0] = true;
// }
// if (oLetter.test(val)) {
// contain[1] = true;
// }
// if (oSpecial.indexOf(val) >= 0) {
// contain[2] = true;
// }
// });
// if (contain.filter(item => item === true).length < 2) {
// callback('密码不能小于六位至少含字母、数字、特殊字符其中的2种');
// return;
// }
// callback();
// }
// }
// ]}
rules={[
{
required: true,
validator: (rule, value, callback) => {
const oNumber = new RegExp(/\d/);
const oLetter = new RegExp(/[a-zA-Z]/);
const oSpecial = '.~!@#$%^&*()_+=-{}|:<>?,./[]-;\\"';
if (!value) {
callback('请输入新密码');
return;
}
if (value.length < 6) {
callback('密码不能小于六位至少含字母、数字、特殊字符其中的2种');
return;
}
try {
[...value].forEach(val => {
if (
!(
oNumber.test(val) ||
oLetter.test(val) ||
oSpecial.indexOf(val) >= 0
)
) {
throw new Error();
}
});
} catch (e) {
callback('密码不能小于六位至少含字母、数字、特殊字符其中的2种');
}
const contain: boolean[] = [];
[...value].forEach(val => {
if (oNumber.test(val)) {
contain[0] = true;
}
if (oLetter.test(val)) {
contain[1] = true;
}
if (oSpecial.indexOf(val) >= 0) {
contain[2] = true;
}
});
if (contain.filter(item => item === true).length < 2) {
callback('密码不能小于六位至少含字母、数字、特殊字符其中的2种');
return;
}
callback();
}
message: '请输入新密码',
}, {
pattern: /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[`~!@#$%^&*()\-_=+\\|[{}\];:'",<.>/?])[a-zA-Z0-9`~!@#$%^&*()\-_=+\\|[{}\];:'",<.>/?]{8,20}$/,
message: "密码不符合规则密码长度8-20位必须包含大小写字母、数字和特殊字符",
}
]}
// rules={[
// {
// required: true,
// message: '请输入新密码',
// },
// ]}
>
<Input.Password />
</Form.Item>