Comment faire pour autoriser uniquement numériques (0-9) en HTML inputbox à l'aide de jQuery?

Je suis entrain de créer une page web où j'ai un champ de saisie de texte dans laquelle je veux autoriser uniquement des caractères numériques comme (0,1,2,3,4,5...9) 0-9.

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

  • Gardez à l'esprit que vous ne pouvez pas compter sur la validation côté client - vous avez également besoin de valider sur le serveur dans le cas où l'utilisateur a JavaScript désactivé, ou n'est pas à l'aide d'un navigateur compatible avec JavaScript.
  • Vous pouvez également utiliser ce plugin jQuery, jQuery alphanumériques. Je l'ai trouvé vraiment génial.
  • Ce (jQuery numérique plugin) on travaille bien et a quelques fonctionnalités intéressantes, mais vous pourriez avoir à ajuster un peu pour répondre à vos besoins et IE soutien.
  • avez-vous considéré comme le html5? <input type="number" />. avec min et max attributs, vous pouvez restreindre l'entrée trop
  • Vous pouvez utiliser javascript, mais vous devez garder à l'esprit le javascript supplémentaire du coup sur la performance du processeur d'un mauvais téléphone. J'ai eu ce problème et résolu avec un <select> Car vous avez juste besoin 0-9? Il n'est pas fou pour utiliser un select menu déroulant pour que.
  • Je pense que vous devriez vérifier pour les valeurs d'entrée sur l'événement keyup et pas vérifier les codes de touche, car il est beaucoup plus fiable, par delà les différences dans les claviers et ce n'est pas.
  • Reportez-vous de ma réponse, stackoverflow.com/questions/995183/...
  • Je suis entièrement d'accord avec Richard: ne pas utiliser les codes de touches. La accepté de répondre ne fonctionne pas sur les claviers français, par exemple, puisque vous devez appuyer sur "Shift" pour taper des chiffres sur ces claviers. Les codes de touches sont tout simplement trop risqué, à mon humble avis.
  • Ne fonctionne pas avec les versions actuelles d'internet explorer. C'est bien beau d'utiliser la dernière version du code sur vos propres trucs à garder au frais, mais ce n'est pas vraiment une option pour presque n'importe quel projet professionnel. caniuse.com/#feat=input-number
  • Êtes-vous sûr que vous avez besoin de jQuery pour cela? Vous pouvez utiliser le HTML5 modèle attribut sur une entrée de restreindre uniquement des nombres comme <input pattern="[0-9]+" />. Je préfère cette méthode car la plupart des navigateurs modifier le style du champ de saisie lors de la <input type="number" />
  • double possible de jQuery: quelle est la meilleure façon de limiter "le nombre"seule entrée pour les zones de texte? (laissez les décimales)
  • Javascript étant on/off n'est pas pertinent. Vous devez toujours vérifier sur le serveur.
  • pouvez-vous expliquer ce qu'est exactement ne fonctionne pas pour vous?
  • J'ai essayé le code inclus snipet dans l'acceptation de réponse et comme indiqué dans th boutny, j'ai encore réussi à entrer des caractères spéciaux qui ne sont pas numériques. Aussi, quand j'ai essayer d'appuyer sur maj + un certain nombre (au-dessus des lettres) rien ne se passe dans l'entrée.
  • Le navigateur[+version]/os? Avez-vous saisi le char ou avez-vous utilisez ctrl+v?
  • dernière version de google chrome, mais j'ai eu le même problème avec MS Bord, pas de collage impliqués. Juste à l'entrée régulière sur le clavier.
  • J'ai en bas voté cette question, parce que vous nous demandez d'écrire du code pour vous. Qu'avez-vous essayé?
  • Qui n'a pas de limiter ce que vous tapez seulement les chiffres, vous pouvez cliquer en haut et en bas pour.