Cómo pasar una variable a regex en jQuery / Javascript
¿Hay alguna forma de pasar una variable a una expresión regular en jQuery/Javascript?
Quiero hacer algo como:
var variable_regex = "bar";
var some_string = "foobar";
some_string.match(/variable_regex/);
En Ruby podrías hacer:
some_string.match(/#{variable_regex}/)
Encontró un mensaje útil:
33
2 answers
Javascript no soporta interpolación como Ruby you tienes que usar el constructor RegExp
:
var aString = "foobar";
var pattern = "bar";
var matches = aString.match(new RegExp(pattern));
51
Author: Jonathan Lonowski,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-11-08 07:17:10
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-11-08 07:17:10
Es fácil:
var variable_regex = "bar";
var some_string = "foobar";
some_string.match(variable_regex);
Acaba de perder el //. Si desea utilizar expresiones regulares complejas, puede utilizar la concatenación de cadenas:
var variable_regex = "b.";
var some_string = "foobar";
alert (some_string.match("f.*"+variable_regex));