Определить, является ли строка email-адресом - C#
Формулировка задачи:
Пишу авторегер. Есть текстовый файл, в котором некоторое количество строк вида mail|pass
мыло и пароль всегда разные. Как мне проверять, соответствует ли строка этому формату? Если не соответствовать - проверяем следующую строку.
Решение задачи: «Определить, является ли строка email-адресом»
textual
Листинг программы
static void Main(string[] args)
{
try
{
using (StreamReader sr = new StreamReader("file.txt"))
{
string line;
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine("\nИсследуемая строка: {0}", line);
string[] arr = line.Split('|');
if (arr.Length != 2) Console.WriteLine("Неверный формат строки.");
else
{
if (!isValid(arr[0])) Console.WriteLine("E-mail - не верный формат");
else Console.WriteLine("E-mail: {0}, password: {1}", arr);
}}}
}
catch (Exception e)
{
Console.WriteLine("Ошибка при обработке файла");
Console.WriteLine(e.Message);
}
Console.ReadKey();
}
public static bool isValid(string email)
{
string pattern = "[.\\-_a-z0-9]+@([a-z0-9][\\-a-z0-9]+\\.)+[a-z]{2,6}";
Match isMatch = Regex.Match(email.ToLower(), pattern, RegexOptions.IgnoreCase);
return isMatch.Success;
}