RegExp qui ne marche plus au passage à IE6

Bonjour, voilà il n’y a pas plus tard que ce matin j’avais une vielle version de IE, et cette partie de code JS marchait très bien. En début d’après midi je suis passé à IE6 et depuis le ‹ alert(« test ») › n’est plus atteint, je suppose donc qu’il y a qqchose avec ma regexp. Mais quoi ?

Merci de votre aide :slight_smile:

[cpp]
var pvu = document.forms[« commande »].elements[« pvu »+objet_id].value;
var quantite = document.forms[« commande »].elements[« quantite »+objet_id].value;
var reg = new RegExp(« [1]*$ »,« g »);

if((reg.test(pvu))&&(reg.test(quantite)))
{
alert(« test »);
eval(« prix »+objet_id).innerHTML = Math.round (pvu * quantite * 100)/100;
}[/cpp]


  1. 0-9-. ↩︎

En attendant j’utilise isFinite() pour tester si c’est un nombre ou pas. Mais par curiosité je voudrais bien savoir pk ça ne marche plus depuis ie6 :slight_smile: Si vous savez pk ?

A mon avis, c’est un problème d’interval:
new RegExp("[1]$",« g »);
=>
/[2]
$/g

Le - est interprété et IE ne le comprend pas.


  1. 0-9-. ↩︎

  2. 0-9-. ↩︎