javascript-syntax-Fehler: Ungültiger regulärer Ausdruck

Ich Schreibe eine Anwendung in javascript. In meiner Anwendung gibt es eine option, um nach einem string/regex. Das problem ist match gibt javascript-Fehler, wenn der Benutzer Arten, falschen Wert.
Beispiel-code:

  function myFunction() {
      var filter = $("#text_id").val();
      var query = "select * from table";
      var found;
      if (query.match(filter) != -1) {
        found = true;
      } 
      else{
        found = false;
      }
       //Do something
    }

jsfiddle: http://jsfiddle.net/ZVNMq/

Geben Sie die Zeichenfolge ein: sel/\

Match zurück js-Fehler - Uncaught SyntaxError: Invalid regular expression: /sel\/: \ at end of pattern.

Gibt es eine Möglichkeit zu überprüfen, ob der string gültige regex oder nicht?

try catch ist der Schnellste und schmerzfreie Art und Weise.
zu beachten nhahtdh Rat wäre eine gute Idee in jedem Fall. in Ihrer spezifischen situation, die Sie haben zu entkommen das escape-symbol `. generell sollten Sie die Flucht alle Zeichen, die eine Besondere Bedeutung in einem regexp-wenn Sie erlauben, nicht überprüfte Benutzer die Eingabe des Musters. wenn Sie nur zufällig speichern der Daten in der dom-Knoten werden Sie wahrscheinlich bekommen, auch ohne den zusätzlichen Aufwand.

InformationsquelleAutor Sandy | 2013-04-23

Schreibe einen Kommentar