Dominique Stender: Vergleichsoperationen evaluieren ohne eval()

Beitrag lesen

Hi,

ich muß per JavaScript eine Vergleichsoperation (in einem String) evaluieren, z.B:
var validation = "[WERT] == 'Firma' || [WERT] == 'Familie'";

Der Platzhalter [WERT] wird über Umwege aus HTML Formularfeldern ermittelt, die Strings sind statisch konfiguriert.

Es wäre natürlich ein leichtes, das Ganze über eval(validation) erledigen zu lassen, aber das würde Cross-Site-Scripting Attacken Tür und Tor öffnen und fällt damit leider flach.

Kennt jemand daher entweder
a) eine "Alternative" zu eval(), welche zwar Vergleiche evaluiert, aber kein JavaScript interpretiert oder
b) einen halbwegs elegant zu programmierenden Ansatz, entsprechendes selbst zu entwickeln bzw.
c) sonst irgendwas?

Geforderter Umfang:

  • Vergleiche von Zahlen sowie Strings
  • sämtliche Vergleichsoperatoren die in JavaScript erlaubt sind.
  • verknüpfte Vergleiche über || sowie &&
  • geklammerte Vergleiche

1000 Dank schon mal im Voraus,
Dominique