/app/src/main/java/br/com/httpfluidobjects/vouper/Outros/Validations.java
Java | 98 lines | 68 code | 19 blank | 11 comment | 30 complexity | 934c8c91af612393ddabe023d6d3b27b MD5 | raw file
- package br.com.httpfluidobjects.vouper.Outros;
- import java.util.InputMismatchException;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- /**
- * Created by gabrielweich on 16/11/17.
- */
- public class Validations {
- public static boolean validateCpf(String CPF) {
- // considera-se erro CPF's formados por uma sequencia de numeros iguais
- if (CPF.equals("00000000000") || CPF.equals("11111111111") ||
- CPF.equals("22222222222") || CPF.equals("33333333333") ||
- CPF.equals("44444444444") || CPF.equals("55555555555") ||
- CPF.equals("66666666666") || CPF.equals("77777777777") ||
- CPF.equals("88888888888") || CPF.equals("99999999999") ||
- (CPF.length() != 11))
- return (false);
- char dig10, dig11;
- int sm, i, r, num, peso;
- // "try" - protege o codigo para eventuais erros de conversao de tipo (int)
- try {
- // Calculo do 1o. Digito Verificador
- sm = 0;
- peso = 10;
- for (i = 0; i < 9; i++) {
- // converte o i-esimo caractere do CPF em um numero:
- // por exemplo, transforma o caractere '0' no inteiro 0
- // (48 eh a posicao de '0' na tabela ASCII)
- num = (int) (CPF.charAt(i) - 48);
- sm = sm + (num * peso);
- peso = peso - 1;
- }
- r = 11 - (sm % 11);
- if ((r == 10) || (r == 11))
- dig10 = '0';
- else dig10 = (char) (r + 48); // converte no respectivo caractere numerico
- // Calculo do 2o. Digito Verificador
- sm = 0;
- peso = 11;
- for (i = 0; i < 10; i++) {
- num = (int) (CPF.charAt(i) - 48);
- sm = sm + (num * peso);
- peso = peso - 1;
- }
- r = 11 - (sm % 11);
- if ((r == 10) || (r == 11))
- dig11 = '0';
- else dig11 = (char) (r + 48);
- // Verifica se os digitos calculados conferem com os digitos informados.
- if ((dig10 == CPF.charAt(9)) && (dig11 == CPF.charAt(10)))
- return (true);
- else return (false);
- } catch (InputMismatchException erro) {
- return (false);
- }
- }
- private static final Pattern VALID_EMAIL_ADDRESS_REGEX =
- 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);
- public static boolean validateEmail(String emailStr) {
- if(emailStr.equals("")){
- return false;
- }
- Matcher matcher = VALID_EMAIL_ADDRESS_REGEX .matcher(emailStr);
- return matcher.find();
- }
- public static boolean validateNome(String nomeStr) {
- if(nomeStr.equals("")) return false;
- if(nomeStr.length() < 3 || nomeStr.length() > 45) return false;
- return true;
- }
- public static boolean validateSenha(String senha) {
- if(senha.length() < 6) return false;
- return true;
- }
- public static boolean validateSenhaConfirma(String senha1, String senha2){
- if(!senha1.equals(senha2)) return false;
- return true;
- }
- }