如何解决是的验证,一个字符串上的 2 个正则表达式
我有这个架构,可以根据几个要求验证 2 个密码字段:
现在我在一个字符串中显示两个验证错误,但我需要针对这些条件显示 2 个单独的错误。
问题是,我如何创建 2 个在验证时互不冲突的正则表达式,并显示必要的错误?
const format = /[a-z`!#$%^&*()+=\[\]{};':"\\|,<>\/?~]/;
const passwordFormat = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d_@.-]{8,}$/;
return yup.object().shape({
password: yup
.string()
.required("Password is required")
// validates the password
.matches(passwordFormat,"Password must have 8 or more characters,at least one uppercase letter,and one number.")
//checks if there are special characters
.test('special-chars',"Password cannot contain special characters other than _ @ . -",function(value) {
return format.test(value);
})
.strict(true)
});
解决方法
你可以试试这两个:
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[\S]{8,}$ - "Password must have 8 or more characters,at least one uppercase letter,and one number"
^[-@\.\w]*$ - "Password cannot contain special characters other than _ @ . -"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。