$(document).ready(function() { $('.numero').validarNUMERO('999999'); $('.nome').validarNOME(); $('.data').validarDATA('99/99/9999'); $('.hora').validarHORA('99:99'); $('.docCPF').validarCPF('999.999.999-99'); $('.docCNPJ').validarCNPJ('99.999.999/9999-99'); $('.email').validarEMAIL(); }); $.fn.setOK = function() { $(this) .removeClass('statusERRO') .addClass('statusOK'); } $.fn.setERRO = function() { $(this) .removeClass('statusOK') .addClass('statusERRO'); } $.fn.setDEFAULT = function() { $(this) .removeClass('statusERRO') .removeClass('statusOK'); } $.fn.validarNOME = function() { $(this).blur(function() { if ($(this).val() && $(this).val() != '') { if (validarNOME($(this).val())) $(this).setOK(); else $(this).setERRO(); } }); } $.fn.validarNUMERO = function(mask) { $(this) .attr('maxlength', mask.length) .attr('size', mask.length) .blur(function() { if ($(this).val() && $(this).val() != '') { if (validarNUMERO($(this).val())) $(this).setOK(); else $(this).setERRO(); } else $(this).setDEFAULT(); }); } $.fn.validarDATA = function(mask) { $(this) .attr('maxlength', mask.length) .attr('size', mask.length) .blur(function() { if ($(this).val() && $(this).val() != '') { if (validarDATA($(this).val())) $(this).setOK(); else $(this).setERRO(); } }); } $.fn.validarHORA = function(mask) { $(this) .attr('maxlength', mask.length) .attr('size', mask.length) .blur(function() { if ($(this).val() && $(this).val() != '') { if (validarHORA($(this).val())) $(this).setOK(); else $(this).setERRO(); } }); } function validarEMAIL(EMAIL) { if (EMAIL.indexOf('@') < 0 || EMAIL.indexOf('.') < EMAIL.indexOf('@')) return false; else { var usuario = EMAIL.split('@')[0]; var dominio = (EMAIL.split('@')[1]).split('.')[0]; var extensao = (EMAIL.split('@')[1]).split('.')[1]; if (!usuario || !dominio || !extensao) $(this).setERRO(); else { if (usuario.length < 3 || dominio.length < 2 || extensao < 2) return false; else return true; } } } $.fn.validarEMAIL = function() { $(this).blur(function() { if ($(this).val() && $(this).val() != '') { if (validarEMAIL($(this).val())) $(this).setOK(); else $(this).setERRO(); } else $(this).setDEFAULT(); }); } $.fn.validarCPF = function(mask) { $(this) .attr('maxlength', mask.length) .attr('size', mask.length) .focus(function() { if ($(this).val() && $(this).val() != '') { if (validarCPF($(this).val())) $(this).setOK(); else $(this).setDEFAULT(); } }) .blur(function() { if ($(this).val() != '') { if (validarCPF($(this).val())) $(this).setOK(); else $(this).setERRO(); } else $(this).setDEFAULT(); }) .live('keyup keypress', function() { if ($(this).attr('maxlength') == $(this).val().length) { if (validarCPF($(this).val())) $(this).setOK(); else $(this).setERRO(); } else $(this).setDEFAULT(); }); } $.fn.validarCNPJ = function(mask) { $(this) .attr('maxlength', mask.length) .attr('size', mask.length) .focus(function() { if ($(this).val() && $(this).val() != '') { if (validarCNPJ($(this).val())) $(this).setOK(); else $(this).setDEFAULT(); } }) .blur(function() { if ($(this).val() != '') { if (validarCNPJ($(this).val())) $(this).setOK(); else $(this).setERRO(); } else $(this).setDEFAULT(); }) .live('keyup keypress', function() { if ($(this).attr('maxlength') == $(this).val().length) { if (validarCNPJ($(this).val())) $(this).setOK(); else $(this).setERRO(); } else $(this).setDEFAULT(); }); } function validarNUMERO(N) { if (N && !isNaN(N)) return true; else return false; } function validarNOME(NOME) { var tmp = NOME.split(' '); if (tmp.length > 1 && isNaN(tmp[0]) && tmp[0].length > 1 && isNaN(tmp[1]) && tmp[1].length > 1) return true; else return false; } function validarDATA(DATA) { var tmp = DATA.split('/'); var dia = tmp[0]; var mes = tmp[1]; var ano = tmp[2]; if (dia < 01 || (dia < 01 || dia > 30) && (mes == 04 || mes == 06 || mes == 09 || mes == 11) || dia > 31) return false; if (mes < 01 || mes > 12) return false; if (mes == 2 && (dia < 01 || dia > 29 || (dia > 28 && (parseInt(ano / 4) != ano / 4)))) return false; if (!ano || ano.length != 4 || ano < 1900) return false; return true; } function validarHORA(HORA) { var tmp = HORA.split(':'); var h = tmp[0]; var i = tmp[1]; if (!h || h.length != 2 || (h < 00 || h > 23)) return false; if (!i || i.length != 2 || (i < 00 || i > 59)) return false; return true; } function validarCPF(CPF) { CPF = limparValor(CPF); if (CPF && CPF != '') { var teste = ( CPF.length != 11 || CPF == '00000000000' || CPF == '11111111111' || CPF == '22222222222' || CPF == '33333333333' || CPF == '44444444444' || CPF == '55555555555' || CPF == '66666666666' || CPF == '77777777777' || CPF == '88888888888' || CPF == '99999999999' ) ? false : true; var soma = 0; for (i = 0; i < 9; i++) soma += parseInt(CPF.charAt(i)) * (10 - i); resto = 11 - (soma % 11); if (resto == 10 || resto == 11) resto = 0; var digito1 = (resto != parseInt(CPF.charAt(9))) ? false : true; var soma = 0; for (i = 0; i < 10; i++) soma += parseInt(CPF.charAt(i)) * (11 - i); resto = 11 - (soma % 11); if (resto == 10 || resto == 11) resto = 0; var digito2 = (resto != parseInt(CPF.charAt(10))) ? false : true; if (teste && digito1 && digito2) return true; else return false; } } function validarCNPJ(CNPJ) { CNPJ = limparValor(CNPJ); if (CNPJ && CNPJ != '') { var teste = (CNPJ.length != 14) ? false : true; var a = []; var c = [6,5,4,3,2,9,8,7,6,5,4,3,2]; var soma = 0; for (i = 0; i < 12; i++) { a[i] = CNPJ.charAt(i); soma += a[i] * c[i + 1]; } if ((resto = soma % 11) < 2) a[12] = 0; else a[12] = 11 - resto; var soma = 0; for (i = 0; i < 13; i++) soma += (a[i] * c[i]); if ((resto = soma % 11) < 2) a[13] = 0; else a[13] = 11 - resto; if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])) return false; if (!teste) return false; else return true; return true; } }
acabei de identificar um na validação do e-mail
ta faltando pegar o tamanho da extensão do domínio...
if (usuario.length < 3 || dominio.length < 2 || extensao < 2) return false;
if (usuario.length < 3 || dominio.length < 2 || extensao.length < 2) return false;