What are the best practices for handling user input validation, particularly for fields like postal codes and city names in PHP forms?

When handling user input validation for fields like postal codes and city names in PHP forms, it is important to use regular expressions to ensure the input matches the expected format. For postal codes, you can use a regex pattern to validate the format based on the country's requirements. For city names, you can use a regex pattern to allow only letters and spaces.

// Validate Postal Code
$postal_code = $_POST['postal_code'];
if (!preg_match('/^[0-9]{5}$/', $postal_code)) {
    // Postal code format is incorrect
    // Handle error message or action here
}

// Validate City Name
$city_name = $_POST['city_name'];
if (!preg_match('/^[a-zA-Z ]+$/', $city_name)) {
    // City name contains invalid characters
    // Handle error message or action here
}