heutemalunbekannt: Usereingabe auswerten

Beitrag lesen

So, da bin ich mal wieder...

...und ich bin dabei, ein Javascript Formular zu erstellen, mit dem der Benutzer anhand des Newton Verfahrens eine Nullstelle einer ganzrationalen Funktion xten Grades nährungsweise bestimmten lassen kann. Probleme bereitet mir dabei die Eingabe des Users.
Bisher sieht das ganze so aus
Dabei ist der Benutzer allerdings in seinen Eingabemöglichkeiten stark eingeschränkt.
Ich wollte daher eine Eingabe realisieren, bei der der Benutzer einfach die Formel eingibt und das Programm selbstständig die Werte ausliest.
Beispieleingabe: x^9 - x^6 + 4x^3 + 1,5x^4 -99
Meine Ideen waren zuersteinmal folgende:

  • Alle Leerzeichen entfernen
  • (per Regex) alle unerlaubten Zeichen entfernen
  • Kommas in Punkte umwandeln
  • "²" in "^2" umwandeln
  • Überprüfen, ob die Eingabe eine richtige Funktion ist

Danach sollte dann das auswerten das Auswerten kommen. Eine Möglichkeit wäre es vielleicht, die Gleichung per eval() auszurechnen, nachdem man zuvor die x durch entsprechende Zahlen ersetzt hat, aber eval() ist laut wahsaga evil(), weshalb man es nicht benutzen solle.
Leider fehlen mir die Ideen, wie ich sonst an die Sache rangehen könnte. Hat jemand von euch Vorschläge? Gibt es vielleicht schon Klassen für soetwas?