regex - 不显示字母数字正则表达式格式的密码验证消息
问题描述
即使我在密码字段中仅提供字母或数字,也不会触发密码验证消息。我的意图是,如果密码不是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>
解决方案
您的 reg 表达式允许数字或字母,而不是至少一个。将其更改为 -
/^(?=.*?\d)(?=.*?[a-zA-Z])[a-zA-Z\d]+$/
首先(?=.*?\d)
是至少一个d
igit,第二个(?=.*?[a-zA-Z])
是至少一个a-zA-Z
(大写与否),最后[a-zA-Z\d]+
是你写的那些类型
推荐阅读
- php - 如何在工资报告中插入月份和年份
- azure-ad-b2c - 首次登录时强制重置密码的自定义策略不起作用
- node.js - 在 redux 中获取 JWT 令牌
- sql - 如何在 Shell 脚本中比较两个 SQL 文件
- hibernate - JPA Criteria API selectCase in where 子句
- dataframe - 获取 DataFrame 的 Column 值导致 'Column' 对象不可调用
- php - 缓存存储 [] 未定义
- python - Bigtable python客户端:如何检索大于给定值的最小行键
- css - Tailwind/CSS 使用自定义字体
- node.js - request-promise post 请求到 axios 请求