Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17563
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Script Máscara completo

24-01-2007 08:42

Abaixo segue o script de máscara completo, telefone, data, etc...
tudo configurado no própio input.

1ª parte (JavaScript) - não necessita alterar

<script> function formata(objForm, strField, sMask, evtKeyPress) { var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla; if(window.event) { // Internet Explorer nTecla = evtKeyPress.keyCode; } else if(evtKeyPress.which) { // Nestcape nTecla = evtKeyPress.which; } sValue = objForm[strField].value;       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;       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...       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;       return true;       } }       else {       return true; }} </script>

2ª parte seu form com inputs
no exemplo segue máscara para telefone e data:

<form name="form"> Telefone: <input type="text" name="telefone" id="telefone" onKeyPress="formata(document.form, 'telefone', '(00) 0000-0000', event);if (event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;" size="14" maxlength="14"> Ex: (00) 0000-0000 <br> Data: <input type="text" name="data" id="data" onKeyPress="formata(document.form, 'data', '00/00/0000', event);if (event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;" size="14" maxlength="10"> Ex: 00/00/0000 </form>

acima onde há 00/00/0000 basta formatar para o campo que precisa, ex, se fosse CPF ficaria 000.000.000-00

lembre-se também de alterar o valor de cada maxlength = quantidade de caracteres permitidos.
o name do form ( <form name=form ) deve estar de acordo com o passado pela função formata ( document.form )
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado