.net 用于密码验证的正则表达式 最少3个字母 最多15 字符A-Za-z0-9 特殊字符@#$%^&+=
这就是我所拥有的:.net 用于密码验证的正则表达式 最少3个字母 最多15 字符A-Za-z0-9 特殊字符@#$%^&+=,.net,regex,.net,Regex,这就是我所拥有的: Regex.IsMatch(Password.Text, @"^[A-Za-z0-9@#$%^&+=]{3,15}$ ") 它总是返回false 请提供帮助。去掉正则表达式字符串末尾的空格。另外:更正了可能的打字错误 Regex.IsMatch(Password.Text, @"^[A-Za-z0-9@#$%^&+=]{3,15}$") 去掉正则表达式字符串末尾的空格。另外:更正了可能的打字错误 Regex.IsMatch(Password.Text, @
Regex.IsMatch(Password.Text, @"^[A-Za-z0-9@#$%^&+=]{3,15}$ ")
它总是返回false
请提供帮助。去掉正则表达式字符串末尾的空格。另外:更正了可能的打字错误
Regex.IsMatch(Password.Text, @"^[A-Za-z0-9@#$%^&+=]{3,15}$")
去掉正则表达式字符串末尾的空格。另外:更正了可能的打字错误
Regex.IsMatch(Password.Text, @"^[A-Za-z0-9@#$%^&+=]{3,15}$")
你到底为什么要限制可能的密码
- 为什么禁止使用法语和德语字符(一般为unicode)李>
- 为什么将密码限制为15个字符?很多人使用完整的密码短语李>
- 为什么要限制特殊字符?你为什么要排除
和:
- 为什么禁止使用法语和德语字符(一般为unicode)李>
- 为什么将密码限制为15个字符?很多人使用完整的密码短语李>
- 为什么要限制特殊字符?你为什么要排除
和:
- 你到底为什么要限制可能的密码
函数密码(const Password:String):扩展;
//返回0.0到1.0范围内的计算质量
//源代码摘自Delphi加密概要,2010年12月
函数熵(P:PByteArray;L:Integer):扩展;
变量
频率:扩展;
I:整数;
Accu:长字的数组[字节];
开始
结果:=0.0;
如果l1,则结果:=1;
结束;
结束;
如前所述,这是一个非常糟糕的主意。更好的方法是测试输入密码的密码强度,并设置密码必须击败的分数
有一些算法可以计算密码的强度。以下内容摘自哈根·雷德曼(Hagen Reddmann)的Delphi加密概要(Pascal的一个示例,但我想这很容易翻译)
函数密码(const Password:String):扩展;
//返回0.0到1.0范围内的计算质量
//源代码摘自Delphi加密概要,2010年12月
函数熵(P:PByteArray;L:Integer):扩展;
变量
频率:扩展;
I:整数;
Accu:长字的数组[字节];
开始
结果:=0.0;
如果l1,则结果:=1;
结束;
结束;
Offtopic,但如果我想在密码中使用
以提高安全性,该怎么办?还是超过15个字符?(我实际上有一个密码比在超级安全案例中使用的密码长)@aloo-你在a和Z之间有一个下划线-因此你在B-Y上不匹配;还有215-应该是15吗?还是那些帖子的拼写错误?@moonshadow,为什么不回答而不是评论?有多少普通字符?有多少特殊的角色?您的需求和正则表达式中都没有包含这一点。这将使abc
有效。对不起,这是一个输入错误Regex.IsMatch(Password.Text,@“^[a-Za-z0-9@$%^&+=]{3,15}$”),但如果我想在密码中使用
,以提高安全性,该怎么办?还是超过15个字符?(我实际上有一个密码比在超级安全案例中使用的密码长)@aloo-你在a和Z之间有一个下划线-因此你在B-Y上不匹配;还有215-应该是15吗?还是那些帖子的拼写错误?@moonshadow,为什么不回答而不是评论?有多少普通字符?有多少特殊的角色?您的需求和正则表达式中都没有包含这一点。对不起,这是一个拼写错误Regex.IsMatch(Password.Text,“^[a-Za-z0-9@$%^&+=]{3,15}$”)他不是也想把它变成^[a-Z..
?他不是也想把它变成^[A-Z…
?确实如此。Ruby的“密码”库使检查密码强度变得很容易。该库调用cracklib,它可以执行比大多数程序员想要做的更多更好的检查。例如,它将检查密码是否不是字典中的单词。我的目的是防止跨浏览器脚本编写。如果有人能告诉我的话如何对密码字段执行此操作。@aloo:如果此密码从未显示在页面上(无论如何都不应该显示),则跨站点脚本编写不是问题。真正的问题是SQL注入(),您可以通过编写正确的SQL查询来阻止它(请参阅wiki页面)。感谢您的所有回答。在阅读BlueRaja的评论后,不在密码字段中添加限制是有意义的。事实上,Ruby的“密码”库使检查密码强度变得很容易。该库调用cracklib,它可以执行比大多数程序员想要做的更多更好的检查。例如,它将检查password不是字典中的单词。我的目的是防止跨浏览器脚本编写。如果有人能告诉我如何对密码字段执行此操作。@aloo:如果此密码从未显示在页面上(无论如何都不应该显示),则跨站点脚本编写不是问题。真正的问题是SQL注入(),您可以通过编写适当的SQL查询(请参见wiki页面)来阻止。感谢您的所有回答。在阅读BlueRaja的评论后,不向密码字段添加限制是有意义的。