如何解决如何同时验证密码长度和正则表达式
我使用 yup
进行验证,看起来像这样
export const signinSchema = yupResolver(
yup.object().shape({
username: yup.string().required("Email is a required field."),password: yup
.string()
.required("Password is a required field.")
.matches(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@#$%^&+=])/,{
message:
"Password must be at least one uppercase,one lowercase,one special character and one number.",})
.min(8,"Password must be at least 8 charaters."),}),)
但我想知道我们可以验证密码长度 ( .min(8,"Password must be at least 8 charaters."
) 和正则表达式 (
.matches(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@#$%^&+=])/,})
同时??比如将两个条件合二为一
非常感谢你
解决方法
您可以使用以下正则表达式模式:
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@#$%^&+=]).{8,}$/
^^^ change is here
这将需要小写和大写字母、数字、特殊字符和 8 个或更多字符。正如上面的评论所暗示的那样,如果您打算一次为每个规则提供一个反馈,您可能需要为每个条件分离出模式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。