2013-04-05 3 views
1

Я прорыл много совпадений google, но я не могу найти правильное регулярное выражение для проверки имени домена \ username.
У меня слишком мало знаний о регулярном выражении, и я ничего не знаю о правилах домена и ограничениях/правилах имени пользователя.Проверка правильности выражения для имени пользователя домена Windows

Спасибо,
Петера

+0

Вы пытаетесь проверить этот стиль входа (пример HQ \ Jsmith), или вы сами пытаетесь проверить значения домена и имени пользователя? – X3074861X

+0

Я хочу проверить стиль входа, чтобы пользователь не мог ввести: 'sm/asd' и т. Д. –

ответ

3

Вы можете просто проверить на наличие обратной косой черты или косой черты в имени пользователя.

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

EDIT

Если вы хотите, чтобы проверить имя пользователя или домен, введенный, вы могли бы использовать что-то вроде этого:

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

Это будет проверять для:

  • Сопоставьте буквы верхнего и нижнего регистра, цифры 0-9, подчеркивание, дефис, обратную косую черту и иод.
  • Строка не менее 7 символов (минимум 3 символа для имени пользователя и домена, плюс домен слэш)
+0

Хорошо. Возможно, я пропустил ваш вопрос. Не обратная косая черта проблемы. Я не знаю ограничений имени домена и имени пользователя. Я хочу проверить правильность имени домена и имени пользователя. Например, он не может содержать знак вопроса, потому что это не допустимый состав домена \ пользователя. –

0

Я закончил с использованием /^[a-zA-Z][a-zA-Z0-9\-\.]{0,61}[a-zA-Z]\\\w[\w\.\- ]+$/
(на основе this SO answer)

Смежные вопросы