validator.js的.isStrongPassword()方法识别的全部符号有哪些?
validator.js
isStrongPassword() 符号判定规则说明 - validator.js对「符号」的判定逻辑没有单独在文档中枚举字符集,直接通过正则规则实现判定,逻辑完全开源可查
- 默认场景下,所有非大小写英文字母、非0-9阿拉伯数字的字符,都会被判定为有效符号,对应正则匹配逻辑为
/[^A-Za-z0-9]/ - 举个例子:
!@#$%^&*()、±、é这类不属于英文字母和阿拉伯数字的字符,都符合默认的符号要求 - 如果默认判定逻辑不符合你的业务需求,可通过两个配置项调整规则:
- 自定义允许的符号集合:调用时传入
symbols参数,值为你指定的所有允许的符号拼接成的字符串 - 关闭符号校验要求:传入
minSymbols: 0即可跳过符号校验环节
- 自定义允许的符号集合:调用时传入
目前行业确实没有统一的密码符号判定标准,大部分工具默认采用「非字母数字即符号」的判定逻辑,如果你的业务有等保、PCI DSS等合规要求,建议根据合规文档明确的符号范围自定义规则,避免默认规则和业务要求出现偏差。
内容的提问来源于stack exchange,提问作者Fabian Röhrle
相关产品推荐
相关产品推荐

