861 votes

bande de caractères non numériques à partir de la chaîne

Considérons un non-DOM scénario où vous souhaiteriez supprimer tous les caractères non numériques à partir d'une chaîne à l'aide de JavaScript/ECMAScript. Tous les personnages qui sont dans la gamme 0 - 9 doit être conservée.

var myString = 'abc123.8<blah>';

//desired output is 1238

Comment voulez-vous atteindre ce dans la plaine du JavaScript? Rappelez-vous ceci est un non-DOM scénario, donc, jQuery et autres solutions de navigateur et les événements de pression de touche ne sont pas adaptés.

1748voto

csj Points 3385

Je voudrais utiliser quelque chose de très similaire à ce CMS posté. Cependant, plutôt que de compléter manuellement \d, je voudrais utiliser le construit-en complément \D.

myString = myString.replace(/\D/g,'');

421voto

max4ever Points 2420

Si vous avez besoin de quitter le point pour les nombres réels, l'utilisation de cette

var s = "-12345.50 €".replace(/[^\d.-]/g, ''); // gives "-12345.50"

69voto

Auraseer Points 351

Utiliser une expression régulière, si votre script de mise en œuvre prend en charge. Quelque chose comme:

myString.replace(/[^0-9]/g, '');

32voto

CMS Points 315406

Vous pouvez utiliser une expression régulière pour remplacer tous les caractères numériques:

var myString = 'abc123.8<blah>';
myString = myString.replace(/[^\d]/g, ''); // 1238

27voto

Jan Hančič Points 19496

Quelque chose le long des lignes de:

yourString = yourString.replace ( /[^0-9]/g, '' );

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