js : ie me rend fou :(

rikew
WRInaute impliqué
WRInaute impliqué
 
Messages: 735
Inscription: 19 Déc 2002

js : ie me rend fou :(

Message le Mer Sep 21, 2011 13:17

Bonjour,

Je cherche a récuperer en js les nombres d'une chaine mais ie me rend fou ! Es ce que c'est uniquement mon ie qui part en xxx ou bien c'est sur toutes les versions ou bien c'est moi ? Je ne sait pas.

Voilà mon code :

Code: Tout sélectionner
<script>
Strg = 'blabla 454 blabla 28 blabla 51';
var tab = Strg.match(/[0-9]+/g);
for(i in tab) alert (tab[i]);
</script>


sur ff et chrome pas de soucis : 3 alertes : 454,28,51
mais sur ie j'ai 6 alertes : 454,28,51,blabla 454 blabla 28 blabla 51',28,30

A force de bidouiller j'ai remarqué qu'en ajoutant 2 lignes (qui ne servent rien en temps normal car elle s'annule : join et split) celà regle le problème sur ie :

Code: Tout sélectionner
<script>
Strg = 'blabla 454 blabla 28 blabla 51';
var tab = Strg.match(/[0-9]+/g);
tab = tab.join(',');
tab = tab.split(',');
for(i in tab) alert (tab[i]);
</script>


Tout ceci me laisse perplexe ... j'aime pas ce genre de bidouille ... si vous avez une solution meilleur celà m'interresse.
Si vous pouvez également me dire si sur votre ie "ca bug" aussi avec la première version du code, merci !


mrPringle
WRInaute impliqué
WRInaute impliqué
 
Messages: 592
Inscription: 11 Mar 2006

Re: js : ie me rend fou :(

Message le Jeu Sep 22, 2011 5:28

Essaie ça car tab est un array :

Code: Tout sélectionner
var Strg = 'blabla 454 blabla 28 blabla 51';
var i, tab = Strg.match(/[0-9]+/g), l = tab.length;
for(i = 0; i < l; i++) {
   alert (tab[i]);
}


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités