javascript - tutorial - Uso de RegExp para crear dinámicamente una expresión regular y filtrar contenido
expresiones regulares tutorial (1)
Estoy luchando con el uso RegExp
objeto RegExp
para permitirme crear dinámicamente una expresión y aplicarla a un grupo de elementos.
Aquí hay un jsFiddle , debajo está el código:
<div id=''selectors''><span>A-F</span><span>G-L</span><span>M-S</span><span>T-Z</span></div>
<a hreh=#>Astring</a>
<a hreh=#>Cstring</a>
<a hreh=#>Xstring</a>
<a hreh=#>Dstring</a>
<a hreh=#>Zstring</a>
$(''div#selectors span'').click(function(){
expression = "/^["+$(this).html()+"].*$/";
rx = RegExp(expression,''i'');
console.log(rx,''expression'');
$("a").each(function(){
if($(this).html().match(rx) !== null){
$(this).addClass(''selected'');
}
});
})
JavaScript agrega automáticamente "/" al final y al principio de la expresión. Eliminarlos de su cadena, Ejemplo aquí
$(''div#selectors span'').click(function () {
var expression = "^[" + $(this).html() + "].*$";
var rx = new RegExp(expression, ''i'');
console.log(rx, ''expression'');
$("a").each(function () {
if ($(this).html().match(rx) !== null) {
$(this).addClass(''selected'');
}
});
});