PageRenderTime 73ms CodeModel.GetById 29ms RepoModel.GetById 0ms app.codeStats 0ms

/app/src/main/java/br/com/httpfluidobjects/vouper/Outros/Validations.java

https://bitbucket.org/fosdev/vouper
Java | 98 lines | 68 code | 19 blank | 11 comment | 30 complexity | 934c8c91af612393ddabe023d6d3b27b MD5 | raw file
  1. package br.com.httpfluidobjects.vouper.Outros;
  2. import java.util.InputMismatchException;
  3. import java.util.regex.Matcher;
  4. import java.util.regex.Pattern;
  5. /**
  6. * Created by gabrielweich on 16/11/17.
  7. */
  8. public class Validations {
  9. public static boolean validateCpf(String CPF) {
  10. // considera-se erro CPF's formados por uma sequencia de numeros iguais
  11. if (CPF.equals("00000000000") || CPF.equals("11111111111") ||
  12. CPF.equals("22222222222") || CPF.equals("33333333333") ||
  13. CPF.equals("44444444444") || CPF.equals("55555555555") ||
  14. CPF.equals("66666666666") || CPF.equals("77777777777") ||
  15. CPF.equals("88888888888") || CPF.equals("99999999999") ||
  16. (CPF.length() != 11))
  17. return (false);
  18. char dig10, dig11;
  19. int sm, i, r, num, peso;
  20. // "try" - protege o codigo para eventuais erros de conversao de tipo (int)
  21. try {
  22. // Calculo do 1o. Digito Verificador
  23. sm = 0;
  24. peso = 10;
  25. for (i = 0; i < 9; i++) {
  26. // converte o i-esimo caractere do CPF em um numero:
  27. // por exemplo, transforma o caractere '0' no inteiro 0
  28. // (48 eh a posicao de '0' na tabela ASCII)
  29. num = (int) (CPF.charAt(i) - 48);
  30. sm = sm + (num * peso);
  31. peso = peso - 1;
  32. }
  33. r = 11 - (sm % 11);
  34. if ((r == 10) || (r == 11))
  35. dig10 = '0';
  36. else dig10 = (char) (r + 48); // converte no respectivo caractere numerico
  37. // Calculo do 2o. Digito Verificador
  38. sm = 0;
  39. peso = 11;
  40. for (i = 0; i < 10; i++) {
  41. num = (int) (CPF.charAt(i) - 48);
  42. sm = sm + (num * peso);
  43. peso = peso - 1;
  44. }
  45. r = 11 - (sm % 11);
  46. if ((r == 10) || (r == 11))
  47. dig11 = '0';
  48. else dig11 = (char) (r + 48);
  49. // Verifica se os digitos calculados conferem com os digitos informados.
  50. if ((dig10 == CPF.charAt(9)) && (dig11 == CPF.charAt(10)))
  51. return (true);
  52. else return (false);
  53. } catch (InputMismatchException erro) {
  54. return (false);
  55. }
  56. }
  57. private static final Pattern VALID_EMAIL_ADDRESS_REGEX =
  58. Pattern.compile("^([_a-zA-Z0-9-]+(\\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*(\\.[a-zA-Z]{1,6}))?$", Pattern.CASE_INSENSITIVE);
  59. public static boolean validateEmail(String emailStr) {
  60. if(emailStr.equals("")){
  61. return false;
  62. }
  63. Matcher matcher = VALID_EMAIL_ADDRESS_REGEX .matcher(emailStr);
  64. return matcher.find();
  65. }
  66. public static boolean validateNome(String nomeStr) {
  67. if(nomeStr.equals("")) return false;
  68. if(nomeStr.length() < 3 || nomeStr.length() > 45) return false;
  69. return true;
  70. }
  71. public static boolean validateSenha(String senha) {
  72. if(senha.length() < 6) return false;
  73. return true;
  74. }
  75. public static boolean validateSenhaConfirma(String senha1, String senha2){
  76. if(!senha1.equals(senha2)) return false;
  77. return true;
  78. }
  79. }