1. 首页
  2. 编程语言
  3. C#
  4. C#验证密码不能含有键盘连续字母

C#验证密码不能含有键盘连续字母

上传者: 2025-05-31 01:18:28上传 ZIP文件 138.56KB 热度 2次

C#的密码验证里,防止用户设置像abc123qwe这种键盘顺序的密码,是个挺实用的安全策略。用正则表达式搞定这事,效率还挺高。

正则表达式在这里主要是用来匹配那些常见的顺序,比如字母顺序、数字顺序、键盘上的顺序。虽然一条正则搞不定所有情况,但起码能把最容易被猜到的过滤掉。

代码也清爽,用个Regex类就能搞定检测逻辑:

using System;
using System.Text.RegularExpressions;

public class PasswordValidator { public bool ValidatePassword(string password) { string regexPattern = @"^(?:(?!(.)\1{2}))[a-zA-Z0-9]*$"; Regex regex = new Regex(regexPattern); return regex.IsMatch(password); } }

这个正则的思路是:只要不出现连续的字符重复,就过关。像aaa111,就直接被挡在门外。虽然简单,但防住一部分低质量密码还是没问题的。

啦,真正上线的密码策略肯定不止这点要求。像长度、特殊字符、常用词过滤这些,建议你一起搭配上,不然光靠这一条拦不住人。

你要是对正则还不太熟,可以看看这几个工具和参考资料,写正则效率能快不少:

如果你在写登录注册页,或者搞后端接口验证逻辑,这段代码可以直接上,改一下正则就行。响应也快,逻辑也简单。

下载地址
用户评论