Ich benutze eine sehr feine JavaScript-Bibliothek namens "array-query" von Jacob Wright, um Suchen in Arrays von Objekten zu tun.Konvertiere einen String in einen regulären Ausdruck
Eine Methode ist regex()
, in der ein regulärer Ausdruck in Klammern eingeschlossen werden kann: regex(/[^\w\s]/)
. Wenn ich den Ausdruck fest codiere, wie ich gerade gezeigt habe, funktioniert es gut. Wenn ich den gleichen Ausdruck in einer Variablen an erster Stelle ist es nicht funktioniert, wie folgt aus:
var reg = "/[^\w\s]/";
regex(reg);
mir gesagt wurde
Sie setzen Anführungszeichen um Ihre regex, so dass es eine Zeichenfolge. Entfernen Sie die Anführungszeichen.
So
var reg = /[^\w\s]/;
regex(reg);
funktioniert gut.
Problem ist, ich muss die Benutzereingabe von einem Textfeld als Teil des regulären Ausdrucks akzeptieren. Wenn der Benutzer beispielsweise den Buchstaben z
eingibt, muss er in /z/
geändert werden. Selbst wenn ich /z/
eintippte, hat das textbox.value
zurückgegebene das gleiche Problem wie ein var reg = "/z/"
. Wenn ich var reg = /z/; regex(reg);
festcode, funktioniert es gut.
Wie ein Eingangs Textbox Wert von "z"
in eine Form zu machen, die var reg = z;
ist? Vielen vielen Dank für jede Hilfe oder Ideen, hoffe, das ist nicht zu verwirrend.
hier: http://stackoverflow.com/questions/874709/converting-user-input-string-to-regular-expression – mzedeler
Das nach wie vor gefragt worden, Sehen Sie sich den Link mzedeler an. Ich empfehle auch, eine Dokumentation über reguläre Ausdrücke in JavaScript zu lesen: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions. –