← Javascript

expressão regular, Jquery

Lida 6133 vezes

Offline

Hash 
Membro
Mensagens 7 Gostos 0
Troféus totais: 16
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 First Post Karma Eighth year Anniversary Seventh year Anniversary

olá

como faço para concatenar uma string com uma expressão regular?

tenho este código de exemplo:

$('.showInfo').click(function(){

       var meuId = $(this).attr("id"); //recebo o id da div, guardado na class ShowInfo

       var regex '/^InfoBanner'+meuId+'+/'; //crio a minha regex, com o id
       
       

        //esconder todas as divs, cujo o id encontra-se na regex.
        $("div").filter(function() {
      return this.id.match(regex);
   }).hide();

});


o problema do meu código é nesta parte:

var regex '/^InfoBanner'+meuId+'+/';

não aceita plicas, nem concatenação de vars

testei algo do género:
var regex /^InfoBanner[0-9]+/
...e funciona, mas esconde-me todas as divs xD

há alguma forma de contornar isto?




Offline

Hash 
Membro
Mensagens 7 Gostos 0
Troféus totais: 16
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 First Post Karma Eighth year Anniversary Seventh year Anniversary


//enganei me, faltou me o "="
no   var regex = '/^InfoBanner'+meuId+'+/';

na mesma, continua a não funcionar.


olá

como faço para concatenar uma string com uma expressão regular?

tenho este código de exemplo:

$('.showInfo').click(function(){

       var meuId = $(this).attr("id"); //recebo o id da div, guardado na class ShowInfo

       var regex = '/^InfoBanner'+meuId+'+/'; //crio a minha regex, com o id
      
        

        //esconder todas as divs, cujo o id encontra-se na regex.
        $("div").filter(function() {
      return this.id.match(regex);
   }).hide();

});


o problema do meu código é nesta parte:

var regex '/^InfoBanner'+meuId+'+/';

não aceita plicas, nem concatenação de vars

testei algo do género:
var regex /^InfoBanner[0-9]+/
...e funciona, mas esconde-me todas as divs xD

há alguma forma de contornar isto?





Offline

=IceBurn= 
Membro
Mensagens 897 Gostos 3
Feedback +3

Troféus totais: 32
Trófeus: (Ver todos)
Windows User Level 6 Linux User Mobile User Super Combination Combination Topic Starter Poll Voter Poll Starter Level 5

Tenta alterar para isto:

Código: (javascript) [Seleccione]
var regex = '/^InfoBanner'+meuId+'/'; //crio a minha regex, com o id
Offline

Hash 
Membro
Mensagens 7 Gostos 0
Troféus totais: 16
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 First Post Karma Eighth year Anniversary Seventh year Anniversary

eu enganei me, faltou me colocar o "="
mesmo assim não funciona....

a expressão regular deixa de funcionar, sempre que tem as plicas

não sei se terá haver com a função que testa


   $("div").filter(function() {
      return this.id.match(regex);
      }).hide();

nem dentro do match(), ele tambem não aceita plicas...