A biblioteca Xmtool oferece um conjunto robusto de ferramentas para simplificar o desenvolvimento em .NET Core. Entre suas funcionalidades, destaca-se o módulo de expressões regulares, projetado para facilitar a validação de formatos de dados comuns, desde padrões industriais até requisitos específicos de caracteres.
Categorias de Validação
O utilitário organiza as validações em três grupos principais:
- Formatos Comuns: Celulares, telefones fixos, e-mails, URLs, endereços IP e números de identidade (padrão chinês).
- Tipos de Caracteres: Verificações de idiomas (inglês e chinês), combinações alfanuméricas e nomes de usuário.
- Tipos Numéricos: Inteiros, números naturais, números positivos e decimais com precisão configurável.
1. Validações de Formatos Comuns
Validação de Telefone Celular
O método IsMobile verifica se a string segue o formato de 11 dígitos iniciado por 1.
// Exemplo: Validando um número de celular
bool ehCelularValido = Xmtool.Regex().IsMobile("13800001111");
Validação de Telefone Fixo
O método IsTelephone identifica formatos padrão de telefonia fixa.
// Exemplo: Validando um telefone fixo com DDD
var resultadoFixo = Xmtool.Regex().IsTelephone("021-12345678");
Validação de E-mail
O IsEmail confirma se a entrada está de acordo com a estrutura padrão de endereços eletrônicos.
// Verificação de endereço de correio eletrônico
bool emailConfirmado = Xmtool.Regex().IsEmail("contato@desenvolvedor.com");
Validação de URL
O método IsUrl suporta protocolos como http, https e ftp.
// Validando um link de internet
bool urlAtiva = Xmtool.Regex().IsUrl("https://dotnet.microsoft.com");
Validação de Endereço IP
Focado no padrão IPv4 (ex: 127.0.0.1).
// Checando validade de IP local
var ipValido = Xmtool.Regex().IsIP("10.0.0.1");
Validação de Identidade (ID Card)
Específico para o formato de 18 dígitos do documento de identidade da China.
// Validando registro de identidade
bool idValido = Xmtool.Regex().IsIDCard("110101199001011234");
2. Validações de Caracteres e Idiomas
Caracteres Alfabéticos (Inglês)
Existem métodos para verificar se a string contém apenas letras, ou especificamente maiúsculas/minúsculas.
// Apenas letras
bool soLetras = Xmtool.Regex().IsEnglish("DotNetCore");
// Apenas minúsculas
bool tudoMinusculo = Xmtool.Regex().IsLowercaseEnglish("xmtool");
// Apenas maiúsculas
bool tudoMaiusculo = Xmtool.Regex().IsCapitalEnglish("SDK");
Caracteres Chineses
Verifica a presença exclusiva ou parcial de ideogramas chineses.
// Apenas ideogramas
bool textoChines = Xmtool.Regex().IsChinese("你好");
Combinações Alfanuméricas
Permite validar se a string contém letras e números de forma exclusiva ou obrigatória.
// Letras OU números
bool alfaNumerico = Xmtool.Regex().IsEnglishOrNumber("User2024");
// Deve conter letras E números
bool requerAmbos = Xmtool.Regex().IsEnglishAndNumber("Pass123");
Nomes de Usuário (Account)
Valida se o nome começa com uma letra e contém apenas caracteres alfanuméricos ou sublinhados (underscore).
// Validação de login de sistema
bool usuarioValido = Xmtool.Regex().IsAccount("admin_dev01");
3. Validações Numéricas
Validação de Números Gerais
Verifica se a string representa qualquer valor numérico válido (inteiro ou decimal).
// Verificando se é um número
bool ehNumero = Xmtool.Regex().IsNumber("1250.75");
Inteiros e Números Naturais
Diferencia entre enteiros (incluindo negativos), naturais (zero e positivos) e innteiros positivos.
// Inteiro qualquer
bool inteiroGeral = Xmtool.Regex().IsInteger("-50");
// Número natural (0, 1, 2...)
bool ehNatural = Xmtool.Regex().IsNaturalInteger("0");
// Inteiro positivo (> 0)
bool ehPositivo = Xmtool.Regex().IsPositiveInteger("100");
Números Decimais e Precisão
O método IsDecimal pode validar se um número é decimal ou se possui uma quantidade exata de casas decimais.
// Qualquer decimal
bool ehDecimal = Xmtool.Regex().IsDecimal("10.5");
// Decimal com exatamente 2 casas
bool precisaoMoeda = Xmtool.Regex().IsDecimal("99.90", 2);