包含两个单独数字的正则表达式密码
Regex password containing two separate digits
在javascript
至少八个字符,其中两个单独的数字,
一个大写字母和一个小写字母以及
一个特殊字符(-, @, #, $, &, *, +) 不是/, !,?或“
试了很多东西,都不能隔开至少2个数字
开始于
/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[-@#$&*+]).{8,}([^\/!?"])$/
尝试了
的变体
(?=.*\d(?!\d))
(?=.*(?<!\d)\d)
请帮忙
关于您尝试过的模式
- 此模式
(?=.*\d(?!\d))
匹配未直接跟随数字的数字
- 此模式
(?=.*(?<!\d)\d)
匹配前面没有紧跟数字的数字
但这两种模式都不能确保实际有 2 个数字
您可以声明一个数字,至少 1 个非数字,然后再声明一个数字。
因为你不想匹配任何这个字符 class [^\/!?"]
你可以从模式中省略它,并且只匹配允许的字符,因为 .
匹配任意字符。
^(?=.*\d[^\d\n]+\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[-@#$&*+])[-@#$&*+\dA-Za-z]{8,}$
^
字符串开头
(?=.*\d[^\d\n]+\d)
断言 2 个单独的数字
(?=.*[a-z])
断言一个字符 a-z
(?=.*[A-Z])
断言字符 A-Z
(?=.*[-@#$&*+])
断言被认为是特殊的字符之一
[-@#$&*+\dA-Za-z]{8,}
匹配任何允许的字符 8 次或更多次
$
字符串结束
或使用 contrast with negated character classes 的变体:
^(?=.*\d[^\d\n]+\d)(?=[^a-z\n]*[a-z])(?=[^A-Z\n]*[A-Z])(?=[^-@#$&*+\n]*[-@#$&*+])[-@#$&*+\dA-Za-z]{8,}$
在javascript
至少八个字符,其中两个单独的数字,
一个大写字母和一个小写字母以及
一个特殊字符(-, @, #, $, &, *, +) 不是/, !,?或“
试了很多东西,都不能隔开至少2个数字
开始于
/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[-@#$&*+]).{8,}([^\/!?"])$/
尝试了
的变体(?=.*\d(?!\d))
(?=.*(?<!\d)\d)
请帮忙
关于您尝试过的模式
- 此模式
(?=.*\d(?!\d))
匹配未直接跟随数字的数字 - 此模式
(?=.*(?<!\d)\d)
匹配前面没有紧跟数字的数字
但这两种模式都不能确保实际有 2 个数字
您可以声明一个数字,至少 1 个非数字,然后再声明一个数字。
因为你不想匹配任何这个字符 class [^\/!?"]
你可以从模式中省略它,并且只匹配允许的字符,因为 .
匹配任意字符。
^(?=.*\d[^\d\n]+\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[-@#$&*+])[-@#$&*+\dA-Za-z]{8,}$
^
字符串开头(?=.*\d[^\d\n]+\d)
断言 2 个单独的数字(?=.*[a-z])
断言一个字符 a-z(?=.*[A-Z])
断言字符 A-Z(?=.*[-@#$&*+])
断言被认为是特殊的字符之一[-@#$&*+\dA-Za-z]{8,}
匹配任何允许的字符 8 次或更多次$
字符串结束
或使用 contrast with negated character classes 的变体:
^(?=.*\d[^\d\n]+\d)(?=[^a-z\n]*[a-z])(?=[^A-Z\n]*[A-Z])(?=[^-@#$&*+\n]*[-@#$&*+])[-@#$&*+\dA-Za-z]{8,}$