Java us postal zip code validation

https://‮ww‬w.theitroad.com

To validate US postal (ZIP) codes using Java regular expressions, you can use the following regex pattern:

^\d{5}(-\d{4})?$

Here's a breakdown of what the regex pattern means:

  • ^ - Match the start of the string
  • \d{5} - Match five digits
  • (-\d{4})? - Optionally, match a hyphen followed by four digits
  • $ - Match the end of the string

Here's an example Java code that uses the above regular expression pattern to validate US postal codes:

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
    public static boolean isUSPostalCodeValid(String postalCode) {
        String regex = "^\\d{5}(-\\d{4})?$";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(postalCode);
        return matcher.matches();
    }

    public static void main(String[] args) {
        String postalCode1 = "12345";
        String postalCode2 = "12345-6789";
        String postalCode3 = "1234";
        String postalCode4 = "12345-";
        String postalCode5 = "1234-56789";

        System.out.println(postalCode1 + " is " + (isUSPostalCodeValid(postalCode1) ? "valid" : "invalid"));
        System.out.println(postalCode2 + " is " + (isUSPostalCodeValid(postalCode2) ? "valid" : "invalid"));
        System.out.println(postalCode3 + " is " + (isUSPostalCodeValid(postalCode3) ? "valid" : "invalid"));
        System.out.println(postalCode4 + " is " + (isUSPostalCodeValid(postalCode4) ? "valid" : "invalid"));
        System.out.println(postalCode5 + " is " + (isUSPostalCodeValid(postalCode5) ? "valid" : "invalid"));
    }
}

This code will output:

12345 is valid
12345-6789 is valid
1234 is invalid
12345- is invalid
1234-56789 is invalid

As you can see, the code correctly identifies which postal codes are valid according to the US postal code format.