[英]C# Regex for at least one letter and at least one number
我正在尝试检查密码是否至少包含一个字母和数字。 跟随似乎没有用。
密码可以是“ 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
等丰富规则。
这是一个
((.*\d.*[a-zA-Z].*)|(.*[a-zA-Z].*\d.*))
模式的斜线用于具有正则表达式文字的语言中。 C#没有。
从模式中删除斜杠:
const string pattern = @"[a-z].*\d|\d.*[a-z]";
正则表达式,用于至少一个大写字母,一个小写字母,一个数字,一个特殊字符和至少8个字符的长度:
^(?=.*[az])(?=.*[AZ])(?=.*[0-9])(?=.*[^a-zA-Z0-9 :])(?=.{8,})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.