https://mateandotecnologia.blogspot.com/2018/09/mascara-no-rsform-joomla.html
sources :
https://github.com/FlavioALeal/MascaraJS
C'est très simple, placez le caractère # peu importe où vous voulez que les chiffres apparaissent.
Par exemple, si vous voulez créer un masque pour le champ CPF, qui a ce format 123.456.789-00
Le masque pour un champ CPF sera ###.###.###-##
Lorsque vous tapez le Numéros CPF que vous allez Des caractères numériques seront inclus à la place de deux caractères # dans le masque.
Tout autre caractère comme . (dot) , (watch) - (hifém) et d'autres seront inclus dans le numéro saisi exactement à la même position dans laquelle ils apparaissent sur le masque.
Placer un appel à la fonction de masque dans la méthode onkeyup de votre entrée => a l'intérieur du champ ou vous souhaitez appliquer le masque => Attributes => Additional Attributes
onkeyup="mascara('###.###.###-##',this,event,true)"
Puis => ajouter ce script => dans => Form Propreties => CSS and JavaScript => dans le champs "Javascript" ajouter entre la balise <script> </script> le code ci après
var corCompleta = "#99ff8f"
var corIncompleta = "#eff70b"
function ResetCampos(){
var textFields = document.getElementsByTagName("input");
for(var i=0; i < textFields.length; i++){
if(textFields[i].type == "text"){
textFields[i].style.backgroundColor = "";
textFields[i].style.borderColor = "";
}
}
}
function coresMask(t){
var l = t.value;
var m = l.length;
var x = t.maxLength;
if(m==0){
t.style.borderColor="";
t.style.backgroundColor="";
}
else if(m<x){
t.style.borderColor=corIncompleta;
t.style.backgroundColor=corIncompleta;
}else{
t.style.borderColor=corCompleta;
t.style.backgroundColor=corCompleta;
}
}
function mascara(m,t,e,c){
var cursor = t.selectionStart;
var texto = t.value;
texto = texto.replace(/\D/g,'');
var l = texto.length;
var lm = m.length;
if(window.event) {
id = e.keyCode;
} else if(e.which){
id = e.which;
}
cursorfixo=false;
if(cursor < l)cursorfixo=true;
var livre = false;
if(id == 16 || id == 19 || (id >= 33 && id <= 40))livre = true;
ii=0;
mm=0;
if(!livre){
if(id!=8){
t.value="";
j=0;
for(i=0;i<lm;i++){
if(m.substr(i,1)=="#"){
t.value+=texto.substr(j,1);
j++;
}else if(m.substr(i,1)!="#"){
t.value+=m.substr(i,1);
}
if(id!=8 && !cursorfixo)cursor++;
if((j)==l+1)break;
}
}
if(c)coresMask(t);
}
if(cursorfixo && !livre)cursor--;
t.setSelectionRange(cursor, cursor);
}
Page 9 of 95