957 votes

Comment autoriser uniquement numérique (0-9) dans inputbox HTML à l’aide de jQuery ?

Je suis la création d’une page web où j’ai un champ de saisie de texte dans lequel je veux permettre uniquement les caractères numériques comme (0,1,2,3,4, 5... 9) 0-9.

Comment puis-je faire cela à l’aide de jQuery ?

1342voto

kgiannakakis Points 62727

Jetez un oeil à ce plug-in (TexoTela jQuery numérique). Ce (jStepper) en est une autre.

C' est un lien si vous souhaitez créer vous-même.

$(document).ready(function() {
    $("#txtboxToFilter").keydown(function (e) {
        // Allow: backspace, delete, tab, escape, enter and .
        if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
             // Allow: Ctrl+A
            (e.keyCode == 65 && e.ctrlKey === true) || 
             // Allow: home, end, left, right
            (e.keyCode >= 35 && e.keyCode <= 39)) {
                 // let it happen, don't do anything
                 return;
        }
        // Ensure that it is a number and stop the keypress
        if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
            e.preventDefault();
        }
    });
});

REMARQUE: Si votre page web utilise HTML5, vous pouvez utiliser le construit en <input type="number"> et l'utilisation de l' min et max des propriétés pour le contrôle de la valeur minimale et maximale.

195voto

Kelsey Points 26456

Voici la fonction que j’utilise :

Vous pouvez ensuite l’attacher à votre contrôle en faisant :

172voto

Patrick Fisher Points 3979

Inline :

Style discret :

105voto

TheDeveloper Points 151

Vous pouvez seulement utiliser une expression régulière simple de JavaScript pour tester caractères purement numériques :

Renvoie true si l’entrée est numérique ou false sinon.

ou pour l’événement keycode, simple utiliser ci-dessous :

45voto

Amr ElGarhy Points 12696

Pas à l'aide de jQuery, mais être simple et il suffit d'utiliser une fonction JavaScript. L'utilisation de JavaScript de la fonction isNaN,

if (isNaN($('#inputid').val()))

@GalacticCowboy
Voici la modification de l'échantillon afin de ne pas jQuery:

if (isNaN(document.getElementById ("inputid').val()))

if (isNaN(document.getElementById('inputid').value))

Mise à jour: Et voici un bel article qui parle de ça, mais à l'aide de jQuery: Restreindre l'Entrée dans les zones de texte HTML à des Valeurs Numériques

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X