验证Windows域用户名的正则表达式

时间:2013-04-05 14:16:12

标签: .net regex active-directory

我挖了很多谷歌匹配但我找不到正确的,有效的正则表达式来验证域\用户名。
我对正则表达式知之甚少,对域名规则和用户名限制/规则一无所知。

谢谢,
彼得

1 个答案:

答案 0 :(得分:3)

您只需检查用户名中是否存在反斜杠或正斜杠。

string UsernameEntered = @"sm/asd";
var DomainStyleLogin = new Regex(@"^.*(\\|/)");
var match = DomainStyleLogin.Match(UsernameEntered);
if (!match.Success)
{
    //Does not contain a backslash
}

修改

如果您想检查输入的用户名或域名,可以使用以下内容:

var ValidUsernameOrDomain = new Regex(@"^[A-Za-z0-9\\\._-]{7,}$");

这将验证:

  • 匹配大写和小写字母,数字0-9,下划线,连字符,反斜杠和句号。
  • 字符串不少于7个字符(用户名和域名最少3个字符,加上域名斜杠)