Die Frage ist so einfach wie der Titel: Wie stelle ich sicher, dass eine Zeichenfolge eine Berechnung enthält?Überprüfen, ob die Zeichenfolge eine Berechnung enthält
Ich habe eine Zeichenfolge, die eine Berechnung enthalten sollte. Die Zeichenfolge könnte etwa so aussehen: "10 * 10/2 * 3"
. Aber es gibt immer Leute, die etwas kaputt machen wollen, also möchte ich überprüfen, ob es eine Berechnung ist. Der Benutzer könnte etwas wie folgt eingeben: "alert('hi!')"
.
Wenn ich eval()
verwende, wird der Benutzer trotzdem benachrichtigt (wenn der Benutzer Folgendes ausgefüllt hat: "alert()"
).
Kann jemand wissen, wie ich überprüfen kann, ob die Zeichenfolge eine Berechnung enthält und nichts anderes?
möglicherweise mit einer Regex und einer weißen Liste für Zeichen/Zahlen. –
Können Sie mir ein Beispiel für eine Regex für meinen Fall geben, @NinaScholz? –
Bitte verwenden Sie 'eval' nicht mit vom Benutzer eingegebenen Code. Das könnte zu Problemen führen :-( – Tuvia