Der Martin: Reguläre Ausdrücke - Mit String vergleichen

Beitrag lesen

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:(