In Magento 2, it’s not difficult to customize zip code validation and or add a custom zipcode validator on the checkout page.

Magento uses Regular Expression (re) to check whether the entered zipcode/postcode is correct.

In this article, we will add our own expression to validate the zipcode.

In Magento default, all patterns are defined in this file:

vendor/magento/module-directory/etc/zip_codes.xml

To add your pattern, or customize zip code validation on the checkout page to suit a specific country, create a new zip_codes.xml inside your own module

Here’s an example:

I choose NL (Dutch language) and add the zip_codes.xml to Mavenbird\HelloWorld\etc folder


    
            
                ^[0-9]{4}\s[a-zA-Z]{2}$
                ^[0-9]{4}\s?[a-zA-Z]{2}$
            
        

The pattern_2 is quite similar to the first one, except that it allows users to enter space character.
I leave 2 patterns there so that you can see the difference, when apply to your store, you can remove the first pattern, pattern_2 still covers cases from pattern_1.

Now time to flush cache and test your result. You will no longer see this warning

Postal Code

That’s how you can add a custom zip code validator in the Magento 2 checkout page. I hope you have found a helpful tutorial

If you have any issue, feel free to leave a comment below, Mavenbird and Magento community are willing to help.

Thanks for reading!