Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Não funciona no Firefox, alguém sabe porque?
<html><head><title>Teste</title><script language="javaScript">function Trim(str){while (str.charAt(0) == " ")str = str.substr(1,str.length -1);while (str.charAt(str.length-1) == " ")str = str.substr(0,str.length-1);return str;} function txtBoxFormat(objForm, strField, sMask, evtKeyPress) { var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla; if(document.all) { // Internet Explorer nTecla = evtKeyPress.keyCode; } else if(document.layers) { // Nestcape nTecla = evtKeyPress.which; } sValue = objForm[strField].value; // Limpa todos os caracteres de formatação que // já estiverem no campo. sValue = sValue.toString().replace( "-", "" ); sValue = sValue.toString().replace( "-", "" ); sValue = sValue.toString().replace( ".", "" ); sValue = sValue.toString().replace( ".", "" ); sValue = sValue.toString().replace( "/", "" ); sValue = sValue.toString().replace( "/", "" ); sValue = sValue.toString().replace( "(", "" ); sValue = sValue.toString().replace( "(", "" ); sValue = sValue.toString().replace( ")", "" ); sValue = sValue.toString().replace( ")", "" ); sValue = sValue.toString().replace( " ", "" ); sValue = sValue.toString().replace( " ", "" ); fldLen = sValue.length; mskLen = sMask.length; i = 0; nCount = 0; sCod = ""; mskLen = fldLen; while (i <= mskLen) { bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/")) bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " ")) if (bolMask) { sCod += sMask.charAt(i); mskLen++; } else { sCod += sValue.charAt(nCount); nCount++; } i++; } objForm[strField].value = sCod; if (nTecla != 8) { // backspace if (sMask.charAt(i-1) == "9") { // apenas números... return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9 else { // qualquer caracter... return true; } } else { return true; } }function limpa_string(S){ var Digitos = "0123456789"; var temp = ""; var digito = ""; for (var i=0; i<S.length; i++) { digito = S.charAt(i); if (Digitos.indexOf(digito)>=0) { temp=temp+digito; } } return temp}function valida_CPF(s) { var i; s = limpa_string(s); var c = s.substr(0,9); var dv = s.substr(9,2); var d1 = 0; for (i = 0; i < 9; i++) { d1 += c.charAt(i)*(10-i); } if (d1 == 0) return false; d1 = 11 - (d1 % 11); if (d1 > 9) d1 = 0; if (dv.charAt(0) != d1) { return false; } d1 *= 2; for (i = 0; i < 9; i++) { d1 += c.charAt(i)*(11-i); } d1 = 11 - (d1 % 11); if (d1 > 9) d1 = 0; if (dv.charAt(1) != d1) { return false; } if(s=='11111111111' || s=='22222222222' || s=='33333333333' || s=='44444444444' || s=='55555555555' || s=='66666666666' || s=='77777777777' || s=='88888888888' || s=='99999999999' || s=='00000000000') return false; else return true;}function valida_CNPJ(s){ var i; s = limpa_string(s); var c = s.substr(0,12); var dv = s.substr(12,2); var d1 = 0; for (i = 0; i < 12; i++) { d1 += c.charAt(11-i)*(2+(i % 8)); } if (d1 == 0) return false; d1 = 11 - (d1 % 11); if (d1 > 9) d1 = 0; if (dv.charAt(0) != d1) { return false; } d1 *= 2; for (i = 0; i < 12; i++) { d1 += c.charAt(11-i)*(2+((i+1) % 8)); } d1 = 11 - (d1 % 11); if (d1 > 9) d1 = 0; if (dv.charAt(1) != d1) { return false; } return true;}function PegaValor(campo){ for (var i = 0; i < campo.length; i++){ if (campo[i].checked == true) return (campo[i].value); }}function movein(cont, form){if (document.getElementById) document.getElementById("boxdescription").innerText=cont;else boxdescription.innerText=cont; if(cont=='CNPJ:'){ form.mascara.value='99.999.999/9999-99'; form.documento.maxLength=18; } else{ form.mascara.value='999.999.999-99'; form.documento.maxLength=14; } form.documento.readOnly=false; form.documento.value=''; form.documento.focus(); }function valida(form){var s = Trim(limpa_string(form.documento.value));var tipo = PegaValor(form.tipo);var tamanho = s.length; if(tamanho == 0 || ( tamanho != 11 && tamanho != 14)){ alert("CPF/CNPJ inválido"); form.documento.value = ''; form.documento.focus(); return false; } else if(tipo =='Jurídica'){ if(valida_CNPJ(s)==false) { alert ("CNPJ inválido"); form.documento.value = ''; form.documento.focus(); return false; } } else if(tipo =='Física'){ if(valida_CPF(s)==false) { alert ("CPF inválido"); form.documento.value = ''; form.documento.focus(); return false; } } else return true;}</script></head><body><form name="frm" method="POST" action="url.html" onSubmit="return valida(this);"><input type="hidden" name="mascara"> <div align="center"> <table border="1" width="400"> <tr> <td width="124"> <p align="right">Tipo: </td> <td width="260"> <input type="radio" onClick="movein('CNPJ:',this.form);" value="Jurídica" name="tipo">Jurídica <input onClick="movein('CPF:',this.form);" type="radio" value="Física" name="tipo">Física</td> </tr> <tr> <td width="124"> <p align="right"><font id="boxdescription">Documento:</font> </td> <td width="260"> <input maxLength="19" type="text" name="documento" readonly size="20" onkeypress="return txtBoxFormat(document.frm, 'documento', document.frm.mascara.value, event);"></td> </tr> </table><input type="Submit" value=" OK "> </div></form></body></html>Carregando comentários...