En Javascript, comment transformer une variable "numérique/chaîne" à seulement numérique? En utilisant une fonction ou une expression régulière.numérique/chaîne à seulement numérique
Exemple: Entrée: 11.489.301/0001-47 à: 11489301000147
En Javascript, comment transformer une variable "numérique/chaîne" à seulement numérique? En utilisant une fonction ou une expression régulière.numérique/chaîne à seulement numérique
Exemple: Entrée: 11.489.301/0001-47 à: 11489301000147
Vous pouvez utiliser les fonctions globales parseFloat/parseInt. Ils vont supprimer tous les caractères principaux et retourner uniquement la représentation numérique.
Vous pouvez utiliser regex pour cela: "11.489.301/0001-47" .replace (/ \ D/g, "")
' « \ D »' est pas une expression régulière littérale, il est une chaîne, de sorte que le code ne remplacera la première occurrence du caractère 'D'. – Guffa
C'est vrai, mon mauvais. J'ai corrigé la réponse. Merci beaucoup! –
Si vous souhaitez retirer juste tout ce qui ne sont pas les chiffres d'une chaîne que vous pouvez utiliser une expression régulière:
s = s.replace(/\D+/g,'');
Si vous souhaitez ensuite transformer la chaîne en une valeur numérique, vous pouvez l'analyser:
var n = parseInt(s,10);
+1 pour avoir mémorisé le drapeau 'g' sur l'expression rationnelle – gnarf
+1! Quelle est la différence entre Number (str) et parseInt (str)? ty :) – stecb
@steweb: dans ce cas, pas beaucoup. 'parseInt' va chercher un nombre valide au début de n'importe quelle chaîne, par exemple' 123abc' donnerait 123. D'un autre côté, si le nombre ressemble à un octal et l'argument 'radix' n'est pas passé à' parseInt ', il sera analysé comme un nombre octal, par exemple '010' donnerait' 8'. –