Strings Valideren in Java
Veeg om het menu te tonen
Bij het werken met tekstinvoer geven gebruikers zelden precies wat je verwacht — sommigen laten velden leeg, anderen typen alleen spaties, en sommigen vergeten verplichte symbolen. Daarom moeten we, voordat we een string in een programma gebruiken, deze vaak eerst valideren — controleren of deze aan bepaalde regels voldoet.
We hebben al basisfuncties gezien zoals isEmpty(), length() en contains(), maar nu voegen we er nog een paar toe die vooral nuttig zijn bij echte invoervalidatie.
isBlank()
Een veelvoorkomend probleem is wanneer een string technisch gezien niet leeg is, maar toch alleen uit spaties bestaat. Bijvoorbeeld, een gebruiker "typt" een naam maar drukt slechts een paar keer op de spatiebalk. .isBlank() behandelt dit door strings die alleen uit witruimte bestaan als ongeldige invoer te beschouwen. Het retourneert een 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); } }
Hoewel customerName niet volledig leeg is, bevat het alleen spaties — daarom geeft .isBlank() true terug, wat aangeeft dat er geen betekenisvolle inhoud is.
startsWith()
Soms is het nodig om te controleren of een string een specifieke structuur volgt. Bijvoorbeeld, elke ordercode in ons systeem moet mogelijk beginnen met "ORD". .startsWith() controleert het begin van de string en retourneert een 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") controleert de eerste drie tekens van orderCode — omdat deze overeenkomen, retourneert het true, wat bevestigt dat de code het verwachte formaat volgt.
endsWith()
We kunnen ook het einde van een string valideren — vooral handig voor bestandsnamen of formaten. Bijvoorbeeld om te controleren of een ontvangstbestand daadwerkelijk een PDF is. Het retourneert een 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") controleert de laatste vier tekens van receiptFile — omdat deze overeenkomen met ".pdf", geeft het true terug.
Gecombineerde validatie
Echte validatie bestaat meestal niet uit slechts één controle — het zijn meerdere regels die samenwerken. Bijvoorbeeld, het valideren van een gebruikersnaam kan vereisen dat deze niet leeg is, minimaal 5 tekens bevat en geen spaties bevat:
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 drie de voorwaarden worden gecombineerd met && — de gebruikersnaam moet aan elke controle voldoen om als geldig te worden beschouwd. "coffeeMaster" is niet leeg, heeft meer dan 5 tekens en bevat geen spaties, dus is validUsername true.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.