未显示字母数字正则表达式格式的密码验证消息

时间:2020-06-06 13:01:42

标签: regex reactjs passwords react-hooks react-hook-form

即使我在密码字段中仅输入字母或数字,也不会触发密码验证消息。 我的意图是,如果密码不是alphanumeric格式,则密码字段应触发验证消息。我正在使用react-hook-form

<label>
<input className="inputRequest formContentElement" name="password" type="password" placeholder="Password"
                onChange={onChange}
                minLength={6}
                ref={register({
                  required: "Required",
                  pattern: {
                    value: /^([a-zA-Z0-9]+)$/,
                    message: "Password should include letter and numbers !"
                  }
                })}
 />
<span className="registerErrorTextFormat">{errors.password && errors.password.message}</span>
</label>

1 个答案:

答案 0 :(得分:2)

您的reg表达式允许数字或字母,但不允许至少其中之一。更改为-

/^(?=.*?\d)(?=.*?[a-zA-Z])[a-zA-Z\d]+$/

第一个(?=.*?\d)至少一个d igit,第二个(?=.*?[a-zA-Z])至少一个a-zA-Z(是否有大写字母),最后是[a-zA-Z\d]+,如您所写仅针对那些类型