Hi,
ich habe ein Input Feld und wenn ich da was eintipppe, ...
hopppla! ;-)
Dafür brauche ich reguläre Ausdrücke.
Das glaube ich nicht. Einfache Stringvergleiche sollte eigentlich genügen.
function vergleichen(string){
var regex = new RegExp("^"+string+".", "i");
for(var i=0; i<arr.length; i++){
if(regex.test(arr[i])){
console.log("treffer: "+arr[i]);
}
}
}
>
> Wenn ich zum Beispiel "Muster" als Wert in einer position des Arrays gespeichert habe, kriege ich "Muster" immer noch als Vorschlag, obwohl ich im InputFeld bereits "Musterr" stehen habe(also mit 2 "r")...
Natürlich, denn "Muster" passt ja noch auf den Anfang des Strings "Musterr". Du hast zwar dein Pattern am Anfang des Suchstrings verankert (^), aber nicht am Ende ($).
Ich bin trotzdem der Ansicht, dass ein gewöhnlicher Stringvergleich anstelle eines RegEx hier sinnvoller wäre. Wenn du ohne Berücksichtung von Groß/Kleinschreibung vergleichen willst, hilft dir die Anwendung von [toLowerCase()](http://de.selfhtml.org/javascript/objekte/string.htm#to_lower_case) (oder toUpperCase()) auf beiden Seiten des Vergleichsoperators.
> Was ist falsch an dem regex?
Eine so komplexe Sache überhaupt für eine derart simple Aufgabe zu verwenden?
Ciao,
Martin
--
You say, it cannot be love if it isn't for ever.
But let me tell you: Sometimes, a single scene can be more to remember than the whole play.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(