Je voudrais faire une regex pour remplacer un nombre décimal et toute période à partir d'un format monétaire ex. 60.000,00 pour être 60000, 5.000.00 pour être 5000. J'ai cette expression régulière ci-dessous mais ça ne fonctionne pas comme ce que je veux. J'apprécie vraiment votre aide.

/([\.][0-9]*?$)/g
1
Riantori 12 avril 2018 à 16:35

3 réponses

Meilleure réponse

Compte tenu de votre format d'entrée, la façon la plus simple de réaliser ce dont vous avez besoin serait de supprimer les . caractères de la chaîne, puis de diviser le résultat par 100. Essayez ceci:

['60.000.00', '5.000.00', '1.234.56'].forEach(function(value) {
  var output = value.replace(/\./g, '') / 100;
  console.log(output);
});
3
Rory McCrossan 12 avril 2018 à 13:50

Voici ma solution pour votre formation:

console.log(format('600.000.00')); // Gives you 600000
function format(input){
    var regex = /(\d+\.)+/;
    var number = regex.exec(input);
    return number[0].toString().replace(/\./g,'');
}

Voici l'exemple RegEx: Regex101

3
Deathshadow 12 avril 2018 à 13:54

Pas besoin de regex, utilisez ceci:

var money = "";
money = "60.000.00";
money = money.replace(".", "");;
money = money.replace(".00", "")
document.writeln(money);
0
Mareks Zirdzins 12 avril 2018 à 14:13