C# 检查字符串中的字母数字和特殊字符
我的项目中的要求是检查字符串是否存在以下条件:C# 检查字符串中的字母数字和特殊字符,c#,regex,C#,Regex,我的项目中的要求是检查字符串是否存在以下条件: 它必须至少包含一个字母(a-z或a-z) 它必须至少包含一个数字(0-9) 它不能包含任何特殊字符 是否有任何正则表达式可以匹配所有这些条件 这是我用于此的代码 private bool IsValidFormat(string str) { Regex rgx = new Regex(@"^[A-Za-z]+\d+.*$"); return rgx.IsMatch(str); } 它适用于上述第1点和第2点,但允许使用特殊字符。 任
private bool IsValidFormat(string str)
{
Regex rgx = new Regex(@"^[A-Za-z]+\d+.*$");
return rgx.IsMatch(str);
}
它适用于上述第1点和第2点,但允许使用特殊字符。
任何帮助都将不胜感激。以下更改允许至少一个字母、至少一个数字,并且不允许使用其他字符。字母和数字的顺序并不重要,这与OP中提供的解决方案不同,后者要求以字母开头,以数字结尾
private bool IsValidFormat(string str)
{
Regex rgx = new Regex(@"^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$");
return rgx.IsMatch(str);
}
因此,基本上,只有字母数字字符,至少有一个字母和一个数字?您当前的正则表达式对于“123password”这样的字符串不起作用,因为它需要字符first@MarkCiliaVincenti... 是,至少1个字符和1个数字,但没有特殊字符。。。。字符或数字的顺序不正确important@AleksAndreev... 字符或数字的顺序并不重要。。。它可以是字符首或数字首。。。我不太了解regex。。。这就是问题所在。这对制作你自己的正则表达式很有帮助。请尝试以下操作,“(\d |[A-Za-z])+”仅匹配数字或字母。