Regex supprime les lettres, les symboles sauf les nombres

Comment pouvez-vous supprimer des lettres, des symboles tels que ∞§¶•ªºº«≥≤÷ mais en laissant des nombres simples de 0 à 9, je ne peux pas autoriser des lettres ou certains symboles dans un champ de saisie, mais laisser des chiffres uniquement.

Démonstration .

Si vous mettez des symboles tels que ¡ € # ¢ ∞ § ¶ • ª ou bien, cela ne l'enlève pas du champ de saisie. Comment retirez-vous les symboles aussi? Le modificateur \w ne fonctionne pas non plus.

Vous pouvez utiliser \D qui signifie non-chiffres .

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

JsFiddle .

Vous pouvez également utiliser l' entrée du numéro HTML5 .

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

JsFiddle .

Simple:

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

^ – signifie PAS

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

Essayez le regex suivant:

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

Cela correspond à tous les caractères qui ne sont pas ( ^ ) dans l'intervalle 0-9.

Démonstration .

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