Skip to main content
 首页 » 编程设计

至少一个字母和至少一个数字的 C# 正则表达式

2024年01月13日59kevingrace

我正在尝试验证密码是否至少包含一个字母和数字。

以下似乎不起作用。

密码可以是“tester1”或“11111111t”等

不能全是字母,也不能全是数字。

有什么想法吗?

const string pattern = @"/[a-z].*\d|\d.*[a-z]/"; 
var match = Regex.Match(password, pattern); 

已解决:

var rule1 = password.Any(char.IsLetter); 
var rule2 = password.Any(char.IsNumber); 

这也有效:

const string pattern = @"[a-z].*\d|\d.*[a-z]"; 

请您参考如下方法:

我不使用正则表达式,而是使用更易于维护的简单规则。例如:

var rule1 = str.All(char.IsLetter); 
var rule2 = str.All(char.IsNumber); 

您还可以通过 char.IsLower、char.IsUpper 等丰富您的规则