salut à tous voila j'aimerai faire une fonction avec des regex qui permet a l'utilisateur de pourvoir saisir les nombres décimale uniquement donc lorsque l'utilisateur veut saisir autre chose qu'un nombre décimale que le clavier reste bloqué ayant fait certains recherche j'ai trouvé ceci:

 function verif(chars) {
        // Caractères autorisés
        var regex = new RegExp("[0-9]?(.)[0-9]", "i");
        var valid;
        for (x = 0; x < chars.value.length; x++) {
            valid = regex.test(chars.value.charAt(x));
            if (valid == false) {
                chars.value = chars.value.substr(0, x) + chars.value.substr(x + 1, chars.value.length - x + 1); x--;
            }
        }
    }

cela ne fonctionne pas quelqu'un a une idée?

3 réponses


Salut,

Pourquoi ne pas utiliser un input de type 'number' à ce moment là ? Plus simple que de se prendre la tête à écrire une fonction JS pour check non ? ;)

romses
Auteur

Pas possible car l'input numbers ne fonctionne pas avec les nombres réels. plutot avec les entiers . Moi je veus faire un champ qui reconnait les nombre réels positif

Eh beh tu peux faire comme ceci:

<input type="number" step="0.01" min="0" />

De cette façon tu pourras entrer des floats.