using System;
using System.Collections.Generic;
using System.Diagnostics.Metrics;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace Library13RegularExpressions
{
internal class RegularClass
{
///
/// Почтовый индекс
///
///
public static void CheckPostalCode(string data)
{
//Создание регулярного выражения
Regex reg = new Regex(@"^\d{6}$");
//Проверка на совпадение строки шаблону
bool check = reg.IsMatch(data);
Console.WriteLine(check ? "Индекс верный" : "Индекс неверный");
}
///
/// Проверка серии и номера паспорта
///
///
public static void CheckPassport(string data)
{
Regex reg = new Regex(@"^\d{4} \d{6}$");
bool check = reg.IsMatch(data);
Console.WriteLine(check ? "Номер паспорта верный" : "Номер паспорта неверный");
}
///
/// Проверка номера телефона
///
///
public static void CheckTelephone(string data)
{
Regex reg = new Regex(@"^(\+7||8)9\d{9}$");
bool check = reg.IsMatch(data);
Console.WriteLine(check ? "Номер телефона верный" : "Номер телефона неверный");
}
///
/// Проверка формата времени
///
///
public static void CheckTime(string data) {
//00-19 или 20-23
Regex reg = new Regex(@"^([01]?[0-9]|2[0-3]):[0 - 5][0 - 9]$");
bool check = reg.IsMatch(data);
Console.WriteLine(check ? "Формат времени верный" : "Формат времени неверный");
}
///
/// Проверка пароля на соответствие шаблону
///
///
public static void CheckPassword(string data)
{
Regex reg1 = new Regex(@"(?=(.*[A-Z]){1,})");
if (reg1.IsMatch(data))
{
Regex reg2 = new Regex(@"(?=(.*[a-z]){3,})");
if (reg2.IsMatch(data))
{
Regex reg3 = new Regex(@"(?=(.*\d){2,})");
Regex reg4 = new Regex(@"(?=(.*[^\s\w]){1,})");
if (reg3.IsMatch(data) && reg4.IsMatch(data))
{
Regex reg5 = new Regex(@"(?=.{8,})");
if (reg5.IsMatch(data))
{
Console.WriteLine("Пароль подходит");
}
else
{
Console.WriteLine("Пароль должен быть длинее 8 символов");
}
}
else
{
Console.WriteLine("В строке должно быть не менее 2 цифры и не менее 1 спец. символа");
}
}
else
{
Console.WriteLine("В строке должно быть минимум 3 строчных латинских символа");
}
}
else
{
Console.WriteLine("В строке должна быть минимум 1 заглавная латинская буква");
}
}
}
}