Estoy tratando de tomar el valor de un campo de texto de entrada y usarlo dentro de una expresión regular. Esto es lo que tengo que hacer coincidir con el comienzo de una línea.Escapar una variable dentro de una expresión normal
regex = new RegExp('^' + inputValue, 'i')
Funciona bien para las cadenas regulares que empiezan tienen caracteres alfanuméricos, pero yo estoy usando esto para las cantidades en dólares también. Cuando el campo de entrada comienza con un '$' (signo de dólar) obtengo resultados variables.
¿Cómo puedo escapar de la variable anterior para verla como una cadena simple? He intentado esto, pero no hubo suerte:
regex = new RegExp('^[' + inputValue + ']', 'i')
PHP tiene 'preg_quote ', No creo que JavaScript tenga uno. La función PHP escapa '. \ + *? [^] $() {} =! < > | : -', así que supongo que 'reemplace' estos con sus versiones de escape. –
Mire la respuesta en esta pregunta 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) quizás. – pimvdb