Sto utilizzando una libreria JavaScript molto fine chiamata "array-query" da Jacob Wright per eseguire ricerche in matrici di oggetti.Converti una stringa in un'espressione regolare
Un metodo è regex()
in cui è possibile includere un'espressione regolare tra parentesi come questa: regex(/[^\w\s]/)
. Se registro l'espressione come ho appena mostrato, funziona bene. Se metto la stessa espressione in una variabile prima non funziona, in questo modo:
var reg = "/[^\w\s]/";
regex(reg);
mi è stato detto
Si sta mettendo le virgolette attorno al regex, che lo rende una stringa. Rimuovi le virgolette.
Così
var reg = /[^\w\s]/;
regex(reg);
funziona bene.
Problema è necessario accettare l'input dell'utente da una casella di testo come parte dell'espressione regolare. Ad esempio, se l'utente digita nella lettera z
, deve essere modificato in /z/
. Anche se digito /z/
il textbox.value
restituito ha lo stesso problema di var reg = "/z/"
. Se ho hardcode var reg = /z/; regex(reg);
funziona bene.
Come rendere un valore di casella di testo di input di "z"
in un modulo che è var reg = z;
? Molte molte grazie per qualsiasi aiuto o idea, spero che questo non sia troppo confuso.
Qui: http://stackoverflow.com/questions/874709/converting-user-input-string-to-regular-expression – mzedeler
Questo come stato chiesto prima , dai un'occhiata al link mzedeler pubblicato. Raccomando anche di leggere alcuni documenti sulle espressioni regolari in JavaScript: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions. –