проверка буквенно-цифровых и специальных символов в строке - PullRequest
2 голосов
/ 20 июня 2019

Требование в моем проекте - проверить строку на наличие следующих условий:

  1. Он должен содержать хотя бы одну букву (a-z или A-Z)
  2. Оно должно содержать хотя бы одно число (0-9)
  3. Не должно содержать специальных символов.

Существует ли регулярное выражение, которое может соответствовать всем этим условиям?

Вот код, который я использую для этого

private bool IsValidFormat(string str)
{
   Regex rgx = new Regex(@"^[A-Za-z]+\d+.*$");
   return rgx.IsMatch(str);
}

Это работает для пунктов 1 и 2 выше, но допускает специальные символы. Любая помощь будет оценена.

1 Ответ

3 голосов
/ 20 июня 2019

Следующее изменение допускает использование как минимум одной буквы, как минимум одной цифры и других символов.Порядок букв и цифр не важен, в отличие от решения, предлагаемого в ОП, где требуется, чтобы оно начиналось с букв и заканчивалось цифрами.

private bool IsValidFormat(string str)
{
   Regex rgx = new Regex(@"^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$");
   return rgx.IsMatch(str);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...