Crear expresión regular

  • Autor Autor kanikase
  • Fecha de inicio Fecha de inicio
Estado

🔒 Este tema está cerrado para nuevas respuestas.

⏰ Solo el creador del tema puede solicitar la reapertura de sus propios temas, pero únicamente dentro de los 60 días previos a la última actualización.

kanikase

kanikase

Préstamo impago
1
Xi
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
Suscripción a IA
Hola betas necesito ayuda con javascript.
Estoy intentando crear una expresión regular, pero no puedo, no funciona la forma en que lo hago, tengo este código:

PHP:
var i,exp,expresion = '/';
    for (i = 0; i < objeto.length; i++) {
        expresion += (objeto.length-1 > i) ? objeto[i]+'|' : objeto[i];
    }
    expresion += '/';
    alert(expresion); // sale /a|b|c|d/
    exp = new RegExp(expresion); //así no funciona, pero si pongo manualmente /a|b|c|d/ sí funciona...
    for (i = 0; i < objeto2.length; i++) {
        alert(exp.test(objeto2[i])); //sale false y debería ser true
    };

Espero que me haya explicado y me puedan ayudar :encouragement:
 
mmm creo que es porque le estas pasando como string "/a|b|c|d/" y tendria que ser una expresion regular...
esto (asi es como funciona):
HTML:
var x = /a|b|c|d/;
es distinto de (asi no funciona)
HTML:
var x = "/a|b|c|d/";
 
mmm creo que es porque le estas pasando como string "/a|b|c|d/" y tendria que ser una expresion regular...
esto (asi es como funciona):
HTML:
var x = /a|b|c|d/;
es distinto de (asi no funciona)
HTML:
var x = "/a|b|c|d/";

Sí es el problema, pero cómo lo puedo solucionar :grumpy:

- - - Actualizado - - -

mmm creo que es porque le estas pasando como string "/a|b|c|d/" y tendria que ser una expresion regular...
esto (asi es como funciona):
HTML:
var x = /a|b|c|d/;
es distinto de (asi no funciona)
HTML:
var x = "/a|b|c|d/";

Ya supe cómo 😀 al final queda así

PHP:
var i,exp,expresion;
    for (i = 0; i < objeto.length; i++) {
        expresion += (objeto.length-1 > i) ? objeto[i]+'|' : objeto[i];
    }
    expresion = new RegExp(expresion)
    exp = new RegExp(expresion);
    for (i = 0; i < objeto2.length; i++) {
        alert(exp.test(objeto2[i]));
    };
 
Última edición:
Estado

🔒 Este tema está cerrado para nuevas respuestas.

⏰ Solo el creador del tema puede solicitar la reapertura de sus propios temas, pero únicamente dentro de los 60 días previos a la última actualización.

Atrás
Arriba