using System;
using System.Text.RegularExpressions;
namespace Recetas.Ch01
{
///
/// Conjunto de utilidades para la validación de recursos Web: URL, email.
///
public static class UtilitarioWeb
{
///
/// Valida una dirección de email: id@dominio
///
/// Dirección de email a validar.
///
/// true si la dirección de correo electrónico es válida, false en caso contrario.
///
public static bool ValidarEmail(string email)
{
Regex regex = new Regex(@"^(([\w-]+\.)+[\w-]+|([a-zA-Z]{1}|[\w-]{2,}))@" + @"((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\." + @"([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|" + @"([a-zA-Z]+[\w-]+\.)+[a-zA-Z]{2,4})$");
return regex.IsMatch(email);
}
///
/// Valida una dirección Web.
///
/// URL a validar.
///
/// true si la dirección es valida, y false si no lo es.
///
public static bool ValidarUrl(string url)
{
string pattern = @"^http(s)?://([\w-]+.)+[\w-]+(/[\w- ./?%&=])?$";
Regex reg = new Regex(pattern, RegexOptions.Compiled | RegexOptions.IgnoreCase);
return reg.IsMatch(url);
}
public static void Main(string[] args)
{
Console.WriteLine(UtilitarioWeb.ValidarUrl("http://o...content-available-to-author-only...t.com"));
Console.WriteLine(UtilitarioWeb.ValidarEmail("fernd@outlook.com"));
}
}
}