Regex - Strip nicht numerisch und entferne Cents, falls vorhanden

8

Ich arbeite gerade an einem Projekt in PHP und brauche Regex-Hilfe. Ich möchte in der Lage sein, einen vom Benutzer eingegebenen Geldwert zu nehmen und alle nicht numerischen und Dezimalstellen / Cents zu entfernen.

Beispiel:

'2.000,00' bis '2000'
"$ 2.000,00" bis "2000"
"2abc000" bis "2000"
'2.000' bis 2000

(Ich verwende nicht-US-Währung Formatierung)

Wie kann ich das tun? Ich würde die Hilfe zu schätzen wissen - Danke

    
RS7 13.01.2011, 01:56
quelle

4 Antworten

14

Sie können:

%Vor%     
codaddict 13.01.2011, 13:37
quelle
10
%Vor%

sollte nicht numerische Zeichen durch leere Zeichenfolgen ersetzen.

    
dqhendricks 13.01.2011 01:58
quelle
0

Dies sollte tun, was Sie wollen.

%Vor%

Die Übereinstimmung beginnt, sobald die erste Zahl gefunden wurde, und stoppt, wenn sie auf etwas trifft, das weder eine Zahl noch ein Punkt ist (zB ein Komma oder das Ende der Zeichenkette in Ihren Beispielen)

EDIT: vergessen, die Buchstaben innerhalb des Wertes zuerst zu entfernen.

(Nur eine persönliche Meinung, aber wenn ein Benutzer Zeichen schreibt, die keine Zahlen, Punkte, Kommas oder Währungssymbole sind, würde ich die Eingabe ablehnen, anstatt zu versuchen, sie zu bereinigen)

    
Thibault Witzig 13.01.2011 13:20
quelle
0

Auf der Client-Seite verwende ich Klassen für die Eingaben:

%Vor%     
gordon 23.08.2016 16:00
quelle

Tags und Links