Ola pessoal,
Estou criando um método para validação de CPF, o método funciona tranquilo sem uma formatação exemplo (21729598803), adicionei a formatação e fiz um teste para retirar eles na validação mas estou encontrando um erro.
public class ValidaCPF {
int soma, resultado1, resultado2;
public boolean validar(String cpf) {
String[] strCpf = new String[11];
int[] numCpf = new int[11];
for (int i = 0; i < cpf.length(); i++) {
if ( (cpf.charAt(i) != '-') | (cpf.charAt(i) != '.')) { <--Nao funciona
strCpf[i] = cpf.charAt(i) + "";
numCpf[i] = Integer.parseInt(strCpf[i]);
}
}
if ( cpf.length() == 14) {
soma = 10 * numCpf[0] + 9 * numCpf[1] + 8 * numCpf[2] + 7 * numCpf[3] + 6 * numCpf[4] + 5 * numCpf[5] + 4 * numCpf[6] + 3 * numCpf[7] + 2 * numCpf[8];
soma -= (11 * ((soma / 11)));
if ( soma == 0 || soma == 1) {
resultado1 = 0;
}
else {
resultado1 = 11 - soma;
}
if ( resultado1 == numCpf[9]) {
soma = 11 * numCpf[0] + 10 * numCpf[1] + 9 * numCpf[2] + 8 * numCpf[3] + 7 * numCpf[4] + 6 * numCpf[5] + 5 * numCpf[6] + 4 * numCpf[7] + 3 * numCpf[8] + 2 * numCpf[9];
soma -= (11 * ((soma / 11)));
if ( soma == 0 || soma == 1) {
resultado2 = 0;
}
else {
resultado2 = 11 - soma;
}
}
}
if ((resultado1 == numCpf[9]) && (resultado2 == numCpf[10])) {
System.out.println("CPF Valido");
return true;
}
else {
System.out.println("CPF Invalido");
return false;
}
}
public static void main(String[] args) {
ValidaCPF validar = new ValidaCPF();
validar.validar("217.295.988-03");
}
}
Como posso fazer para retirar os caracteres que nao sao números?
Obrigado