2011-06-22 8 views
0

Je fais de la logique à une chaîne et tout fonctionne bien dans Firefox. Erreur trouvée dans IE mais confus pour le réparer.Javascript regex remplacer ne fonctionne pas ie

var txt=[], regg=/<\/?[^>]+>/gi, ost=str.replace(regg,'').substr(0,l), g=j=0; 
var match = null; 
while(match = regg.exec(str)){ 
    var f = (regg.lastIndex-match.index); 
    txt.push([match[0], match.index, regg.lastIndex, f]); 
} 

Dans le code ci-dessus si je l'appelle regg.exec(str) avant tout puis ensuite travailler dans IE. Mais ne comprends pas pourquoi appeler.

Également observé que ost=str.replace(regg,'').substr(0,l) n'accepte pas pour IE.

Les gars, S'il vous plaît aider.

Merci d'avance.

+0

ost = str.replace (regg, '') substr (0, l), g = j = 0;. .... ost = str.replace (regg, ''). substr (0, l); enlever g = j = 0; – K6t

+0

J'ai besoin que g = j = 0; Je l'utilise plus tard ce code – Max

+0

pouvez-vous ajouter votre valeur str – K6t

Répondre

0

Dans cette ligne

ost=str.replace(regg,'').substr(0,l) 

le char 'l' est pas un nombre, mais un caractère de texte. Remplacez-le par un nombre dont vous avez besoin.

aussi voir des erreurs javascript:

FF installé et ouvert FireBug

Dans IE aller à: Outils-> Options Internet -> onglet Avancé -> Section de la navigation, et décochez la case « Désactiver le débogage de script (Internet Explorer) »

+0

En fait, je peux apprécier une belle vue. Mais la lettre l me donne un chiffre. Je viens de vérifier avec une alerte. :) – Max

+0

Pouvez-vous poster le code entier, y compris le texte spécifique que vous utilisez en entrée? – Kamarey

+0

Les gars, je viens d'avoir la réponse .... utilisé regg.lastIndex = 0; avant que la condition – Max

0

mec Je suis mince, je

ru définir l; quelque chose dans ur codage ,, laisse ensuite mon Anser

ost=str.replace(regg,'').substr(0,l)// u entered 

ost=str.replace(regg,'').substr(0,1)// my suggestion 
+0

me donne le nombre :) – Max

+0

l est la longueur de la chaîne. Je trouve que seul le problème est si j'appelle regg.exec (str) avant que la condition fonctionne alors bien mais confus pourquoi appeler ?. Sinon, je reçois null – Max