No artigo de hoje veremos as funções, um recurso poderoso do C#. |
Essas funções são recorrentes em muitos sistemas.
Mas sempre os Analistas de Qualidade pegam bugs em rotinas por não estarem usando as funções e validações corretas.
/// <summary>
/// Método responsável por validar um e-mail.
/// </summary>
/// <param name="email"></param>
/// <returns></returns>
public static bool ValidaEmail(string email)
{
string regex = @"^[A-Za-z0-9](([_\.\-\+]?[a-zA-Z0-9]+[_]?)*)@([A-Za-z0-9]+)(([\.\-\+]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$";
return Regex.IsMatch(email, regex, RegexOptions.None, TimeSpan.FromMilliseconds(500));
}
/// <summary>
/// Remove a acentuação de uma <see cref="String"/>.
/// </summary>
/// <param name="text">Objeto <see cref="String"/> que se deseja remover a acentuação.</param>
/// <returns>
/// Retorna uma nova <see cref="String"/> onde os caracteres que possuiam acentuação na instância
/// original foram substituídos pelos equivalentes caracteres sem acentuação.
/// </returns>
public static string RemoveAccents(string text)
{
StringBuilder sbReturn = new StringBuilder(text.Length);
char[] arrayText = text.Normalize(NormalizationForm.FormD).ToCharArray();
foreach (char letter in arrayText)
{
if (CharUnicodeInfo.GetUnicodeCategory(letter) != UnicodeCategory.NonSpacingMark)
sbReturn.Append(letter);
}
return sbReturn.ToString();
}
/// <summary>
/// Converte seqüência de escape para caracter
/// </summary>
/// <param name="s">String com seqüência de escape</param>
/// <returns>String convetida</returns>
public static String ConverteScapeTocaracter(String s)
{
if (s == null)
{
return String.Empty;
}
s = s.Replace("|", "\n");
s = s.Replace("&", "&");
s = s.Replace("&", "&");
s = s.Replace("<", "<");
s = s.Replace(">", ">");
s = s.Replace("'", "'");
s = s.Replace("€", "€");
s = s.Replace("*", "*");
s = s.Replace("\", "\\");
return s;
}