Sto cercando di prendere il valore di un campo di testo di input e di usarlo all'interno di un'espressione regolare. Ecco cosa devo abbinare all'inizio di una linea.Escape di una variabile all'interno di un'espressione regolare
regex = new RegExp('^' + inputValue, 'i')
Funziona bene per le stringhe regolari che iniziano avere caratteri alfanumerici, ma io sto usando questo per gli importi in dollari pure. Quando il campo di input inizia con un '$' (simbolo del dollaro) ottengo risultati variabili.
Come posso evitare la variabile sopra per essere visualizzata come una stringa semplice? Ho provato questo, ma senza fortuna:
regex = new RegExp('^[' + inputValue + ']', 'i')
PHP ha 'funzione preg_quote ', Non credo che JavaScript ne abbia uno. La funzione PHP sfugge '. \ + *? [^] $() {} =! < > | : -', quindi credo che li sostituiremo con le loro versioni di escape. –
Guarda la risposta in questa domanda http://stackoverflow.com/questions/3614440/replicate-the-functionality-of-javas-pattern-quote-in-a-javascript-regexp – Danny
[This] (http: // simonwillison.net/2006/Jan/20/escape/#p-6) forse. – pimvdb