首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要帮助: RegEx表示包含数字和特殊字符的密码

需要帮助: RegEx表示包含数字和特殊字符的密码
EN

Stack Overflow用户
提问于 2010-11-19 20:27:48
回答 3查看 1.1K关注 0票数 1

我需要关于密码的RegEx的帮助。密码必须至少包含一个特殊字符(如"§$&/!)和一个数字。

例如,像"EdfA433&“这样的密码必须是有效的,而"aASEas§ö”不是,因为它不包含数字。

到目前为止,我有以下RegEx:

代码语言:javascript
复制
^(?=.*[0-9])(?=.*[a-zA-Z]).{3,}$

但这一条显然只检查一个数字。有人能帮上忙吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-19 20:43:50

您最好使用多个更简单的正则表达式:任何这样的代码检查都不会对性能敏感,而且在给定更复杂的regexp的情况下,额外的维护复杂性可能是不合理的。

所以,我想要的是:

代码语言:javascript
复制
var valid = foo.match(/[0-9]/) && foo.match(/["§$&/!]/);

我想知道你是否真的想定义这样的特殊字符:é算特殊字符吗?~是否算作特殊字符?

票数 2
EN

Stack Overflow用户

发布于 2010-11-19 20:55:07

代码语言:javascript
复制
 ^(?=.*\d)(?=.*\W).{3,}$

检查至少一个数字(\d)和一个非字母数字字符(\W)。\W\w的反转,它匹配数字、字母和下划线。

如果要在“特殊字符”列表中包括下划线,请使用

代码语言:javascript
复制
 ^(?=.*\d)(?=.*[\W_]).{3,}$
票数 2
EN

Stack Overflow用户

发布于 2010-11-19 20:35:20

我会将检查密码是否“硬”的功能分成几个部分,在每个部分中我都会检查一个条件。你可以在Daily WTF上看到一些复杂的正则表达式,密码重置:http://thedailywtf.com/Articles/The-Password-Reset-Facade.aspx

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

https://stackoverflow.com/questions/4224945

复制
相关文章

相似问题

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