图案密码 javascript
pattern password javascript
我正在研究具有以下要求的密码模式:
- 最少字符 = 6
- 最大字符数 = 64
- 最少 1 个小写字符
- 最少 1 个大写字符
- 最少 1 个数
- 最少 1 个特殊字符
我正在使用这个正则表达式:
var passReg = /^(?=^[ -~]{6,64}$)(?=.*([a-z][A-Z]))(?=.*[0-9])(.*[ -/|:-@|\[-`|{-~]).+$/;
然而,它并没有像预期的那样工作。
您一定是在寻找这个正则表达式:
^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[ -/:-@\[-`{-~]).{6,64}$
见demo
解释如下:
^
- 字符串的开头
(?=.*[a-z])
- 正向预测需要小写字母
(?=.*[A-Z])
- 需要大写字母的正向预测
(?=.*[0-9])
- 需要数字的正向预测
(?=.*[ -/:-@\[-
{-~])` - 需要特殊字符的正向预测
.{6,64}
- 任何字符(但换行符除外),出现 6 到 64 次
$
- 字符串结束。
考虑特殊的非空白字符。我认为这是完整的列表:
! " # $ % & ' ( ) * + , - . / :
; < = > ? @ [ \ ] ^ _ ` { | } ~
试试这个:
var passReg = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!"#$%&'()*+,-.\/:;<=>?\@[\]^_`{|}~]).{6,64}$/;
查看特殊字符的反向引用。在字符集中,像 \ 和 ] 的字符必须被转义。
我正在研究具有以下要求的密码模式:
- 最少字符 = 6
- 最大字符数 = 64
- 最少 1 个小写字符
- 最少 1 个大写字符
- 最少 1 个数
- 最少 1 个特殊字符
我正在使用这个正则表达式:
var passReg = /^(?=^[ -~]{6,64}$)(?=.*([a-z][A-Z]))(?=.*[0-9])(.*[ -/|:-@|\[-`|{-~]).+$/;
然而,它并没有像预期的那样工作。
您一定是在寻找这个正则表达式:
^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[ -/:-@\[-`{-~]).{6,64}$
见demo
解释如下:
^
- 字符串的开头(?=.*[a-z])
- 正向预测需要小写字母(?=.*[A-Z])
- 需要大写字母的正向预测(?=.*[0-9])
- 需要数字的正向预测(?=.*[ -/:-@\[-
{-~])` - 需要特殊字符的正向预测.{6,64}
- 任何字符(但换行符除外),出现 6 到 64 次$
- 字符串结束。
考虑特殊的非空白字符。我认为这是完整的列表:
! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
试试这个:
var passReg = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!"#$%&'()*+,-.\/:;<=>?\@[\]^_`{|}~]).{6,64}$/;
查看特殊字符的反向引用。在字符集中,像 \ 和 ] 的字符必须被转义。