72 votes

Regex pour supprimer les lettres, les symboles sauf les chiffres

Comment supprimer les lettres, les symboles tels que §¶•ªºº«÷ Je veux pouvoir interdire les lettres ou certains symboles dans un champ de saisie, mais laisser uniquement les chiffres.

Démo .

Si vous mettez des symboles comme ¡ € # ¢ § ¶ • ª ou sinon, cela ne le supprime toujours pas du champ de saisie. Comment supprimer également les symboles ? Le site \w ne fonctionne pas non plus.

119voto

alex Points 186293

Vous pouvez utiliser \D ce qui signifie non-chiffres .

var removedText = self.val().replace(/\D+/g, '');

jsFiddle .

Vous pouvez également utiliser le HTML5 numéro entrée .

<input type="number" name="digit" />

jsFiddle .

37voto

techouse Points 1214

Utilice /[^0-9.,]+/ si vous voulez des flotteurs.

18voto

Max Points 9361

Simple :

var removedText = self.val().replace(/[^0-9]+/, '');

^ - signifie NON

5voto

Darin Dimitrov Points 528142

Essayez la regex suivante :

var removedText = self.val().replace(/[^0-9]/, '');

Cela correspondra à chaque caractère qui est no ( ^ ) dans l'intervalle 0-9.

Démo .

4voto

Aziz Shaikh Points 9511

Si vous souhaitez conserver uniquement les chiffres, utilisez /[^0-9]+/ au lieu de /[^a-zA-Z]+/

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