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 = () => { // 确定修改密码 const handleOk = () => { // 确定修改密码
changeForm.validateFields().then(res => {
if (changeForm.getFieldValue("newPassword") !== changeForm.getFieldValue("newPassword1")) { if (changeForm.getFieldValue("newPassword") !== changeForm.getFieldValue("newPassword1")) {
message.warn('两次密码输入不一致,请重新输入') message.warn('两次密码输入不一致,请重新输入')
} else { } else {
changeForm.validateFields().then(res => {
setSping(true); setSping(true);
const date = { const date = {
identityCard: changeForm.getFieldValue("identityCard"), identityCard: changeForm.getFieldValue("identityCard"),
@ -330,9 +330,9 @@ const Index: React.FC<{}> = () => {
} }
}).finally(() => { }).finally(() => {
setSping(false); setSping(false);
});; });
})
} }
})
} }
//浏览器类型 //浏览器类型
const BrowserType = () => { const BrowserType = () => {
@ -652,62 +652,65 @@ const Index: React.FC<{}> = () => {
<Form.Item <Form.Item
label="新密码" label="新密码"
name="newPassword" 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={[ // rules={[
// { // {
// required: true, // required: true,
// message: '请输入新密码', // 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,
message: '请输入新密码',
}, {
pattern: /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[`~!@#$%^&*()\-_=+\\|[{}\];:'",<.>/?])[a-zA-Z0-9`~!@#$%^&*()\-_=+\\|[{}\];:'",<.>/?]{8,20}$/,
message: "密码不符合规则密码长度8-20位必须包含大小写字母、数字和特殊字符",
}
]}
> >
<Input.Password /> <Input.Password />
</Form.Item> </Form.Item>