首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >密码的Regex必须包含至少8个字符、至少一个数字以及大小写字母和特殊字符。

密码的Regex必须包含至少8个字符、至少一个数字以及大小写字母和特殊字符。
EN

Stack Overflow用户
提问于 2013-10-26 09:42:10
回答 42查看 1.1M关注 0票数 809

我想要一个正则表达式来检查:

密码至少包含八个字符,包括至少一个数字,并且包括大写字母和大写字母以及特殊字符,例如#?!

它不能是您的旧密码或包含您的用户名、"password""websitename"

这是我的验证表达式,用于八个字符,包括一个大写字母、一个小写字母和一个数字或特殊字符。

代码语言:javascript
运行
复制
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"

如何为编写密码密码必须是八个字符,包括一个大写字母、一个特殊字符和字母数字字符

EN

回答 42

Stack Overflow用户

发布于 2014-01-30 12:44:17

至少八个字符,至少一个字母和一个数字:

代码语言:javascript
运行
复制
"^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$"

至少八个字符,至少一个字母,一个数字和一个特殊字符:

代码语言:javascript
运行
复制
"^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$"

至少八个字符,至少一个大写字母,一个小写字母和一个数字:

代码语言:javascript
运行
复制
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$"

至少八个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符:

代码语言:javascript
运行
复制
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$"

最少8个字符,最多10个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符:

代码语言:javascript
运行
复制
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,10}$"
票数 2.1K
EN

Stack Overflow用户

发布于 2013-10-26 09:48:45

您可以在多个前瞻性断言(条件)中使用此正则表达式。

代码语言:javascript
运行
复制
^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$

这个regex将执行以下规则:

  • 至少有一个大写英文字母(?=.*?[A-Z])
  • 至少有一个小写英文字母,(?=.*?[a-z])
  • 至少一个数字,(?=.*?[0-9])
  • 至少有一个特殊角色,(?=.*?[#?!@$%^&*-])
  • 长度至少8英寸的.{8,} (带有锚)
票数 721
EN

Stack Overflow用户

发布于 2015-11-08 01:56:39

正则表达式没有AND运算符,所以很难编写一个与有效密码匹配的正则表达式,当有效性由某些东西和其他东西以及其他东西定义时.

但是,正则表达式确实有一个OR运算符,所以只需应用DeMorgan的定理,并编写一个与无效密码匹配的正则表达式:

小于八个字符的,没有数字的,,没有大写的,没有小写的,没有特殊字符的东西。

所以:

代码语言:javascript
运行
复制
^(.{0,7}|[^0-9]*|[^A-Z]*|[^a-z]*|[a-zA-Z0-9]*)$

如果有匹配的,那么它就是一个无效的密码。

票数 114
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19605150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档