TK1234, US12, CA1234 gibi uçuş numaralarını doğrulamak isteyelim. Aşağıdaki gibi bir yöntem yazabiliriz:
public static boolean isValidFlightNumber(String flightNumber) {
flightNumber = flightNumber.trim();
String text = "([A-Z]{2}[0-9]{1,4})+?";
Pattern pattern = Pattern.compile(text);
Matcher m = pattern.matcher(flightNumber);
return m.matches();
}
Bu şekilde ilk iki harfi alfabetik, diğerleri numeric olacak şekilde kontrol edilebilir.
Aşağıdaki gibi test kodu ile test edilebilir:
private String flightNumberOne="TK9";
private String flightNumberTwo="TK19";
private String flightNumberThree="TK191";
private String flightNumberFor="TK1234";
private String flightNumberZeroPadFormar="TK0034";
private String flightNumberInvalidOnlyNumber="1234";
private String flightNumberInvalidOnlyCarrierCodes="TK";
@Test
public void validTest() {
assertTrue(FlightNumber.isValidFlightNumber(flightNumberOne));
assertTrue(FlightNumber.isValidFlightNumber(flightNumberTwo));
assertTrue(FlightNumber.isValidFlightNumber(flightNumberThree));
assertTrue(FlightNumber.isValidFlightNumber(flightNumberFor));
assertTrue(FlightNumber.isValidFlightNumber(flightNumberZeroPadFormar));
assertFalse(FlightNumber.isValidFlightNumber(flightNumberInvalidOnlyNumber));
assertFalse(FlightNumber.isValidFlightNumber(flightNumberInvalidOnlyCarrierCodes));
}