首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >密码强度正则表达式

密码强度正则表达式
EN

Stack Overflow用户
提问于 2014-01-07 03:44:04
回答 2查看 4.6K关注 0票数 1

在我的RegEx项目中,我试图用一个简单的asp.net项目替换密码验证,该项目使用正则表达式验证器。

以下是密码限制:

  1. 密码的长度应为最少6个字符,最长为15个字符。
  2. 它至少应该有一封信(无论如何)
  3. 它应该至少有一个数字
  4. 它至少应该有一个特殊的角色。

我是regex的n00b,这是我要求勺喂的唯一问题;)

我在regex下面尝试过,但在少数情况下失败了。

代码语言:javascript
复制
string re1="([a-z])";   // Any Single Word Character (Not Whitespace) 1
string re2=".*?";       // Non-greedy match on filler
string re3=".";         // Uninteresting: c
string re4=".*?";       // Non-greedy match on filler
string re5=".";         // Uninteresting: c
string re6=".*?";       // Non-greedy match on filler
string re7="(.)";       // Any Single Character 1
string re8="(\\d)";     // Any Single Digit 1

Regex r = new Regex(re1+re2+re3+re4+re5+re6+re7+re8,RegexOptions.IgnoreCase|RegexOptions.Singleline);
Match m = r.Match(txt)
EN

回答 2

Stack Overflow用户

发布于 2014-01-07 03:47:41

使用这样的模式:

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

在这里,您可以用任何您想要接受的“特殊字符”替换[...]

要把它分解一下:

  • 开始(^)和结束($)锚点确保输入中没有前导字符或尾随字符。这对于确保最大长度被强制执行是必要的。
  • .{6,15}位匹配任何字符的6到15个字符。
  • (?=...)是向前看的。它确保匹配的位置遵循在内部出现的任何模式。

代码语言:javascript
复制
- The `.*[a-z]` means any number of characters followed by a single Latin letter. 
- Similarly, `.*[0-9]` matches any number of characters followed by a decimal digit, and `.*[...]` matches any number of characters followed by one of your 'special characters'.

  • 因此,总的来说,(?=.*[a-z])(?=.*[0-9])(?=.*[...])链意味着所有这三种模式都必须以任何顺序出现在下面的字符串中。
票数 2
EN

Stack Overflow用户

发布于 2014-01-07 03:47:02

我对此也很陌生,我发现了一篇关于验证文件名的帖子,这个帖子应该也是一样的。

代码语言:javascript
复制
if(preg_match('/^[a-z0-9-_]+$/',$file_name)) 
{
   echo 'good filename';
}   
else
{
   echo ' The file name can only contain "a-z", "0-9", "_", and "-"';
}

这将检查它是否包含某些字符,您可以使用这些字符检测密码中的数字和字母。另外,如果我是您,我还会将密码与常见密码列表(如"password""password123"等)进行比较。

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

https://stackoverflow.com/questions/20963522

复制
相关文章

相似问题

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