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
Ómicron
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
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