Cómo crear patrón de expresión que es concatenar con la variable, algo como esto:JavaScript concatenar patrón de expresión con la variable
var test ="52";
var re = new RegExp("/\b"+test+"\b/");
alert('51,52,53'.match(re));
Gracias
Cómo crear patrón de expresión que es concatenar con la variable, algo como esto:JavaScript concatenar patrón de expresión con la variable
var test ="52";
var re = new RegExp("/\b"+test+"\b/");
alert('51,52,53'.match(re));
Gracias
var re = new RegExp("/\b"+test+"\b/");
\b
en una cadena literal es un carácter de retroceso. Al poner una expresión regular en una cadena literal que necesita una ronda más de escape: (. También no necesitan la //
en este contexto)
var re = new RegExp("\\b"+test+"\\b");
puede utilizar
/(^|,)52(,|$)/.test('51,52,53')
pero sugiero utilizar
var list = '51,52,53';
function test2(list, test){
return !((","+list+",").indexOf(","+test+",") === -1)
}
alert(test2(list,52))
no se necesita el 'nuevo' operador, según http://bclary.com/2004/11/07/#a-15.10.3 – James
Hay muchos lugares donde la función constructora de un tipo incorporado se puede usar con o sin 'nuevo'. Sin embargo, para coherencia con otros objetos donde esto puede no ser cierto, y claridad en general, siempre usaría 'new'. – bobince
Otra forma es usar comillas simples para mayor claridad, por lo que no necesita escapar de las barras diagonales inversas: 'nueva RegExp ('\ b' + test + '\ b');' – IQAndreas