Hej.
Jag skulle behöva lite hjälp.
Det finns ju ett antal sökmetoder i javascript för att söka i strängar. såsom IndexOf och liknande. Jag skulle gärna vilja veta vad det finns för fler sökmetoder?. Nån som kan hjälpa?. :)
5 svar · 316 visningar · startad av Prästen
Hej.
Jag skulle behöva lite hjälp.
Det finns ju ett antal sökmetoder i javascript för att söka i strängar. såsom IndexOf och liknande. Jag skulle gärna vilja veta vad det finns för fler sökmetoder?. Nån som kan hjälpa?. :)
Stränghantering
Här har du en bra länk i ämnet.
http://devedge.netscape.com/library/manuals/2000/javascript/1.3/reference/string.html
//Broskan
Du kan även titta på reguljära uttryck (regular expression).
Hmm IndexOf verkar inte funka på Arrayer?
if(arr[y].stad.IndexOf(document.MittFormular.sokstad.value)!=-1)
tyckte den match var lite krånglig att använda, hade ju en massa parametrar att ställa in ju :(
jag provade också att använda .search, den funka bra men den kunde inte avgöra skillnaden på stora bokstäver och små, så den blev oandvändbar
nån som vet hur man använder IndexOf på arrayer?.
Prästen skrev:
Hmm IndexOf verkar inte funka på Arrayer?
if(arr[y].stad.IndexOf(document.MittFormular.sokstad.value)!=-1)
Det indexOf talar om är var (första) förekomsten av söktermen i en sträng förekommer. Skall du göra det på en array får du loopa igenom alla elementen (antagligen strängar) i arrayen.
var arr=["Smurf plockar blåbär","Hallon är gott","Mmm... blåbärspaj","Rabarbersaft"]
stringHits=0;
for(var n=0;n<arr.length;n++){
stringHits+=(arr[n].indexOf("blåbär")>-1)?1:0;
}
alert(stringHits+" av array-elementen innehöll 'blåbär'");
match (RegExp) är inte så krångligt. Du behöver ju inte använda alla parametrarna. "i" i exemplet ovan talar om att matchningen skall vara case insensitive. Alltså inte skilja på stora/små bokstäver. Plockar du bort det str.match(/[åäö]/) så kommer den inte att matcha ex "Ä".