Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Validering av strenger i Java | Strenger
Introduksjon til Java

Validering av strenger i Java

Sveip for å vise menyen

Når man arbeider med tekstinnputt, gir brukere sjelden akkurat det du forventer — noen lar felt stå tomme, noen skriver bare inn mellomrom, noen glemmer nødvendige symboler. Derfor må vi ofte validere en streng før vi bruker den i et program — altså sjekke om den følger bestemte regler.

Vi har allerede sett grunnleggende verktøy som isEmpty(), length() og contains(), men nå skal vi legge til noen flere som er spesielt nyttige i reelle valideringssituasjoner.

isBlank()

Et veldig vanlig problem er når en streng ikke er teknisk tom, men likevel bare inneholder mellomrom. For eksempel kan en bruker "skrive" et navn, men bare trykke på mellomromstasten noen ganger. .isBlank() håndterer dette ved å behandle strenger som kun består av blanktegn som ugyldig innputt. Den returnerer en boolean.

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { String customerName = " "; boolean isBlankName = customerName.isBlank(); System.out.println(isBlankName); } }

Selv om customerName ikke er helt tom, inneholder den kun mellomrom — derfor returnerer .isBlank() true, noe som indikerer at det ikke finnes meningsfullt innhold.

startsWith()

Noen ganger må vi sikre at en streng følger en bestemt struktur. For eksempel kan det hende at hver ordre-kode i systemet vårt må starte med "ORD". .startsWith() sjekker begynnelsen av strengen og returnerer en boolean.

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { String orderCode = "ORD-2459"; boolean validOrderCode = orderCode.startsWith("ORD"); System.out.println(validOrderCode); } }

.startsWith("ORD") sjekker de tre første tegnene i orderCode — siden de stemmer, returnerer den true, og bekrefter at koden følger forventet format.

endsWith()

Det er også mulig å validere slutten av en streng — spesielt nyttig for filnavn eller formater. For eksempel for å sikre at en kvitteringsfil faktisk er en PDF. Den returnerer en boolean.

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { String receiptFile = "receipt.pdf"; boolean validReceiptFile = receiptFile.endsWith(".pdf"); System.out.println(validReceiptFile); } }

.endsWith(".pdf") sjekker de siste fire tegnene i receiptFile — siden de samsvarer med ".pdf", returnerer den true.

Kombinert validering

Reell validering består vanligvis ikke av bare én sjekk — det er flere regler som jobber sammen. For eksempel kan validering av et brukernavn kreve at det ikke er tomt, har minst 5 tegn og ikke inneholder mellomrom:

Main.java

Main.java

123456789101112131415
package com.example; public class Main { public static void main(String[] args) { String username = "coffeeMaster"; boolean validUsername = !username.isBlank() && username.length() >= 5 && !username.contains(" "); System.out.println(validUsername); } }

Alle de tre betingelsene kombineres med && — brukernavnet må oppfylle hver enkelt sjekk for å være gyldig. "coffeeMaster" er ikke tom, har mer enn 5 tegn og inneholder ingen mellomrom, så validUsername er true.

question mark

Hva sjekker .isBlank()?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 6

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Validering av strenger i Java

Når man arbeider med tekstinnputt, gir brukere sjelden akkurat det du forventer — noen lar felt stå tomme, noen skriver bare inn mellomrom, noen glemmer nødvendige symboler. Derfor må vi ofte validere en streng før vi bruker den i et program — altså sjekke om den følger bestemte regler.

Vi har allerede sett grunnleggende verktøy som isEmpty(), length() og contains(), men nå skal vi legge til noen flere som er spesielt nyttige i reelle valideringssituasjoner.

isBlank()

Et veldig vanlig problem er når en streng ikke er teknisk tom, men likevel bare inneholder mellomrom. For eksempel kan en bruker "skrive" et navn, men bare trykke på mellomromstasten noen ganger. .isBlank() håndterer dette ved å behandle strenger som kun består av blanktegn som ugyldig innputt. Den returnerer en boolean.

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { String customerName = " "; boolean isBlankName = customerName.isBlank(); System.out.println(isBlankName); } }

Selv om customerName ikke er helt tom, inneholder den kun mellomrom — derfor returnerer .isBlank() true, noe som indikerer at det ikke finnes meningsfullt innhold.

startsWith()

Noen ganger må vi sikre at en streng følger en bestemt struktur. For eksempel kan det hende at hver ordre-kode i systemet vårt må starte med "ORD". .startsWith() sjekker begynnelsen av strengen og returnerer en boolean.

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { String orderCode = "ORD-2459"; boolean validOrderCode = orderCode.startsWith("ORD"); System.out.println(validOrderCode); } }

.startsWith("ORD") sjekker de tre første tegnene i orderCode — siden de stemmer, returnerer den true, og bekrefter at koden følger forventet format.

endsWith()

Det er også mulig å validere slutten av en streng — spesielt nyttig for filnavn eller formater. For eksempel for å sikre at en kvitteringsfil faktisk er en PDF. Den returnerer en boolean.

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { String receiptFile = "receipt.pdf"; boolean validReceiptFile = receiptFile.endsWith(".pdf"); System.out.println(validReceiptFile); } }

.endsWith(".pdf") sjekker de siste fire tegnene i receiptFile — siden de samsvarer med ".pdf", returnerer den true.

Kombinert validering

Reell validering består vanligvis ikke av bare én sjekk — det er flere regler som jobber sammen. For eksempel kan validering av et brukernavn kreve at det ikke er tomt, har minst 5 tegn og ikke inneholder mellomrom:

Main.java

Main.java

123456789101112131415
package com.example; public class Main { public static void main(String[] args) { String username = "coffeeMaster"; boolean validUsername = !username.isBlank() && username.length() >= 5 && !username.contains(" "); System.out.println(validUsername); } }

Alle de tre betingelsene kombineres med && — brukernavnet må oppfylle hver enkelt sjekk for å være gyldig. "coffeeMaster" er ikke tom, har mer enn 5 tegn og inneholder ingen mellomrom, så validUsername er true.

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 6
some-alt