RegEx funktioniert nicht in IE8

OK, nach der Suche hoch und niedrig, sowohl hier als auch über Google habe ich in den sauren Apfel beißen und eine neue Frage hier bezüglich RegEx im IE8.

Ich habe den folgenden code:

var output = input.replace(/^\S+(\s| )+/, '');

Sein Zweck ist, zu entfernen Währung, Namen von Mengen, so "kr 12 345,00" wird "12 345,00" und "NOK-12 345,00" wird "12 345,00" und so weiter.

Dieser funktioniert überall, außer in den Internet Explorer-Versionen 8 oder unten, wo es lässt die Eingabe unverändert.

Anfangs war ich mit der new RegExp() Weg, es zu tun, aber geändert, um den regulären Ausdruck, literal, um zu sehen, ob es einen Unterschied zwischen dem, wie IE behandelt diese zwei Varianten - die, zum Glück, es war nicht 🙂

Habe ich auch schon versucht mit nur der \s und nur mit der   aber, dass nicht einen Unterschied machen.

Den wirklich seltsame Sache ist, dass, wenn das obige regex mit "kr 12 345,00", wie der Eingang auf die W3 Schule "Try It Yourself" Seite im IE 8 funktioniert es einwandfrei! (auch wenn der erste Platz ist verbunden mit  )

Also nochmals zu betonen: Der Ort, ich sehe das Problem bei der Verwendung von regex in meinem Javascript-code, der sich in einer AngularJS-filter-Funktion (ich bin, einen filter zu definieren), und der filter ist wieder die ursprüngliche Eingabe im IE8 (die auch gesehen, mit Konsole.log() in IE8). Jemand anderes getestet in IE9 für mich, und berichtete, dass es geklappt hat - und ich habe getestet in Chrome als auch. Der einzige Browser, in dem ich auf dieses Problem sind IE8 und IE7.

, Was auf der Erde geschieht hier?

InformationsquelleAutor Joe Dyndale | 2013-02-26

Schreibe einen Kommentar