fork download
  1. using System;
  2. using System.Text.RegularExpressions;
  3.  
  4. namespace Recetas.Ch01
  5. {
  6. ///<summary>
  7. /// Conjunto de utilidades para la validación de recursos Web: URL, email.
  8. ///</summary>
  9. public static class UtilitarioWeb
  10. {
  11. ///<summary>
  12. /// Valida una dirección de email: id@dominio
  13. ///</summary>
  14. /// <param name="email">Dirección de email a validar.</param>
  15. ///<returns>
  16. /// true si la dirección de correo electrónico es válida, false en caso contrario.
  17. ///</returns>
  18. public static bool ValidarEmail(string email)
  19. {
  20. 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})$");
  21. return regex.IsMatch(email);
  22. }
  23.  
  24. ///<summary>
  25. /// Valida una dirección Web.
  26. ///</summary>
  27. /// <param name="url">URL a validar.</param>
  28. /// <returns>
  29. /// true si la dirección es valida, y false si no lo es.
  30. ///</returns>
  31. public static bool ValidarUrl(string url)
  32. {
  33. string pattern = @"^http(s)?://([\w-]+.)+[\w-]+(/[\w- ./?%&=])?$";
  34. Regex reg = new Regex(pattern, RegexOptions.Compiled | RegexOptions.IgnoreCase);
  35. return reg.IsMatch(url);
  36. }
  37.  
  38. public static void Main(string[] args)
  39. {
  40. Console.WriteLine(UtilitarioWeb.ValidarUrl("http://o...content-available-to-author-only...t.com"));
  41. Console.WriteLine(UtilitarioWeb.ValidarEmail("fernd@outlook.com"));
  42. }
  43. }
  44. }
Success #stdin #stdout 0.08s 34240KB
stdin
Standard input is empty
stdout
True
True