Mes amis,Utilisation d'expressions régulières avec la méthode de remplacement Javascript
Je suis nouveau aux expressions Javascript et régulières et j'espère que vous pouvez aider!
Dans une fonction Javascript, j'ai besoin de vérifier si une virgule (,) apparaît 1 fois ou plus. Si c'est le cas, il devrait y avoir un ou plusieurs nombres de chaque côté.
par exemple.
1,000.00 est ok
1,000,00 est ok
, 000.00 n'est pas correct
1,, 000.00 n'est pas correct
Si ces conditions sont remplies, je veux que la virgule être enlevé si 1000.00 devient 1000.00
Ce que j'ai essayé est:
var x = '1,000.00'; Var regex = new RegExp ("[0-9] +, [0-9] +", "g");
var y = x.réplace (regex, "");
alerte (y);
Lors de l'exécution, l'alerte affiche ".00" Ce qui n'est pas ce que j'attendais ou ce que je voulais!
Merci d'avance pour toute aide fournie.
forte texte Modifier forte texte
Merci à tous pour l'entrée à ce jour et les 3 réponses. Malheureusement, je ne pense pas avoir suffisamment expliqué ma question.
Ce que je suis en train de réaliser est:
S'il y a une virgule dans le texte et il y a un ou plusieurs numéros de chaque côté de celui-ci, puis retirez la virgule, mais laisser le reste de la chaîne comme il est.
S'il y a une virgule dans le texte et qu'il n'y a pas au moins un chiffre de chaque côté, alors ne faites rien.
Donc, en utilisant mes exemples de ci-dessus:
1.000,00 devient 1000,00
1,000,00 devient 100000
, 000.00 est laissée, 000.00
1,, 000.00 est laissée 1 ,, 000,00
Toutes mes excuses pour la confusion!
Quel est le problème avec juste enlever tous des virgules dans la chaîne ... String.replace (',', ''); – James
Merci pour le commentaire Jimmy. C'était ma première solution aussi! Malheureusement, certains champs autorisent l'inclusion de virgules dans le formatage. Donc avant que je laisse l'utilisateur quitter le champ et ils ont entré une virgule alors il doit y avoir au moins un nombre de chaque côté. Fondamentalement, pour empêcher les utilisateurs d'entrer 1 ,,,,,,,,,,,,,,,, 000 etc. –