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
123456789101112package 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
123456789101112package 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
123456789101112package 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
123456789101112131415package 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.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
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
123456789101112package 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
123456789101112package 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
123456789101112package 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
123456789101112131415package 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.
Takk for tilbakemeldingene dine!