02.26
Bom pessoal hoje, enjoado de ter que ficar adaptando funções javascript para diversos campos, resolvi criar uma função genérica para aceitar todos os tipos de máscara javascript. Espero que ajude quem procura.
<script type="text/javascript">
function addMask(field,mask){
/* Função Genérica para inserir máscara em campos numéricos
*
* @field => campo texto para ser adicionado a máscara
* @mask => Formato da máscara. Ex: 00/00/0000, 00.000-000
*
* Desenvolvido por Eliemar Carvalho Junior
* Empresa: Flexpoint.com.br
**/
var val = field.value;
var chrsPermited = /[0123456789]/;//caracteres permitidos
var maskChars = new Array();//array de mascaras var i;//variavel para contador
//realizando a leitura da máscara
for(i = 0; i < mask.length; i++){
if(mask.charAt(i).search(chrsPermited) != 0){
maskChars[i] = mask.charAt(i);
}else{
maskChars[i] = '';
}
}
//realizando a configuração da mesma
for(i = 0; i < val.length; i++){
if ((val.charAt(i).search(chrsPermited) != 0) && val.charAt(i) != maskChars[i]){
field.value = field.value.substring(0,(i));
}else if(maskChars[i] != '' && val.charAt(i) != maskChars[i]){
field.value = val.substring(0, i) + maskChars[i] + val.charAt(i);
}
}
}
</script>
Como usar?
Bom para utilizar esta função basta adicionar ela no evento onkeyup do input.
<input id="iptData" onkeyup="javascript: addMask(this,'00/00/0000');" maxlength="10" name="iptData" type="text" />
Bom uso pessoal!