Objektet String |
![]() ![]() |
Nästan alla javaskript kräver en eller annan form av stränghantering. Grundläggande är då att man vet vad en sträng är. En sträng innehåller ett eller flera tecken som kan vara bokstäver, siffror eller andra tecken. Men till skillnad från numeriska variabler kan man inte utföra matematiska beräkningar med strängvariabler. För att skapa ett nytt strängobjekt kan vi skriva: var namn = new String("Det var en mörk och stormig natt"); Vi får då en variabel som innehåller Det var en mörk och stormig natt. Men det går lika bra att använda det kortare sättet och skriva: var namn = "Det var en mörk och stormig natt"; Resultatet blir detsamma. Vi börjar med att titta på tre av metoderna för objektet String() i JavaScript, nämligen .length, .charAt och .indexOf. De används för att ta reda på hur lång strängen är (length), vilket tecken som finns på en bestämd plats i en sträng (charAt) samt var i en sträng ett bestämt tecken finns eller en teckenföljd en mindre sträng inom strängen börjar (indexOf). Varje tecken i en sträng har ett index och "numreringen" börjar alltid från 0. I en sträng som innehåller ordet "javaskript" har alltså "j" index 0, "v" index 3 och "ipt" index 7, 8 och 9. (dot) operator Eftersom vi kommer att använda punkten en hel del, sätter jag ut den här framför metoderna. .lengthMetoden .length svarar med strängens längd, angivet som ett tal. Om strängen innehåller ordet "JavaScript" svarar .length alltså med 10. Ett exempel hela koden kan läggas direkt där du vill visa länken: |
<SCRIPT language="JavaScript"> <A HREF="javascript:kollaPassw()">Testa här genom att ange ett lösenord som är mindre än 5 tecken långt.</A> |
Testa här genom att ange ett lösenord som är mindre än 5 tecken långt. var losenord=prompt('Föreslå ett lösenord',''); Om vi inte gör det händer två saker:
if (losenord.length < 5) alert('Lösenordet är för kort. Använd minst 5 tecken.'); alert('Ditt förslag: '+losenord+'!'); Med den här metoden kan vi undersöka vilket tecken som finns på en bestämd plats i strängen, eller enklare uttryckt: Vilken är första bokstaven, andra bokstaven och så vidare. Kom bara ihåg att den första bokstaven (eller första tecknet, eftersom det inte behöver vara en bokstav) har index 0, den andra har index 1 och så vidare. |
<SCRIPT LANGUAGE="JavaScript"> <A HREF="javascript:kortNamn()">Testa här genom att skriva ditt namn.</A> |
Testa här genom att skriva ditt namn var namn_0=namn.charAt(0); och var namn_1=namn.charAt(1); alert('De två första bokstäverna i namnet är ' +namn_0 + namn_1 +'.'); Om vi vill ha den sista bokstaven i namnet, kan vi använda metoden .length i kombination med .charAt. |
<SCRIPT LANGUAGE="JavaScript"> <A HREF="javascript:sistaNamn()">Testa här genom att skriva ditt namn.</A> |
var namn=prompt('Skriv ditt förnamn',''); var namnsist=namn.length; var sisten=namn.charAt(namnsist-1); alert('Sista bokstaven är '+sisten+'.'); Med metoden .indexOf kan vi leta efter ett bestämt tecken eller en mindre sträng av tecken inom en sträng, och få fram var tecknet finns eller var den mindre strängen börjar. Fortfarande gäller samma sak som tidigare: Det första tecknet i strängen har index 0. Om tecknet eller delsträngen förekommer flera gånger inom strängen, kommer indexOf att svara med index för den första förekomsten. Om tecknet eller "delsträngen" inte finns inom strängen, kommer indexOf i stället att svara med index -1. Kolla e-postadressenMed indexOf kan vi kontrollera att en inskriven e-postadress innehåller minst ett @ och minst en punkt. Observera att den här metoden inte är bra för att kontrollera att e-postadressen verkligen kan finnas, eftersom skriptet inte reagerar om besökaren skriver till exempel @...@. Men skriptet visar på ett enkelt sätt hur indexOf fungerar: |
<SCRIPT language="JavaScript"> <A HREF="javascript:epostAdress()">Testa här</A> |
var atOK=eAdr.indexOf('@'); och var atOK=punktOK.indexOf('.'); if (atOK==-1 || punktOK==-1) alert('Fel: Din adress måste innehålla @ och minst en punkt.'); Om varken atOK eller punktOK är lika med -1, öppnas en meddelanderuta med texten OK. Observera att det inte spelar någon roll var i strängen snabel-a eller punkten befinner sig - det viktiga är att de finns där, så att varken atOK eller punktOK blir lika med -1. |
![]() ![]() |
© SupportData.Net |