Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Javascript] Split regex

Pagina: 1
Acties:

  • ZeroXT
  • Registratie: December 2007
  • Laatst online: 22-11 20:54
Beste mensen,

Ik probeer een simpele split uit te voeren met Regex in Javascript. IE9+ is het geen probleem maar IE7 en 8 vinden het niet leuk:

JavaScript:
1
2
3
4
5
6
7
var elm = 'div[class="test"]';

if(elm.match(/\[(.*?)\]/))
{
    var tmp = elm.split(/\[(.*?)\]/);
    console.log(tmp[0], tmp[1]);
}


Nu verwacht ik dat tmp[0] div is en tmp1 class="test". Maar tmp[1] is undefined waarbij het in andere browsers wel goed gaat.

Enig idee waarom dit gebeurd? :)

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 22:43

crisp

Devver

Pixelated

Da's een bug in IE, die captured geen subexpressies bij een split. Zie o.a. http://blog.stevenlevithan.com/archives/cross-browser-split :)

Overigens is [^\]]* efficienter dan non-greedy matching

[ Voor 17% gewijzigd door crisp op 28-05-2013 08:40 ]

Intentionally left blank


  • ZeroXT
  • Registratie: December 2007
  • Laatst online: 22-11 20:54
Hartelijk bedankt. Ik krijg in de RegExp.$1 ook de waarde eruit. Maar het blijft een vreemd probleem.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 22:43

crisp

Devver

Pixelated

Internet Explorer is al jaren een vreemd probleem :+

Intentionally left blank