Angular ng-pattern regex code for US Zipcodes and Canadian Postal codes

Sonia Brami picture Sonia Brami · Jan 18, 2014 · Viewed 14.3k times · Source

I could anybody help me out?

I am looking for some regexp to use to validate US Zip codes and Canadian Postal codes in AngularJS

Answer

brandonscript picture brandonscript · Jan 18, 2014

This should work for you:

^(\d{5}(-\d{4})?|[A-Z]\d[A-Z] *\d[A-Z]\d)$

http://regex101.com/r/nO4zF5

Remove the ^ and $ anchors if you don't want to match the start and end of the string.

When using in Javascript remember that you need to use the / delimiter:

if (/^(\d{5}(-\d{4})?|[A-Z]\d[A-Z] *\d[A-Z]\d)$/.test(str)) {
    // it's a match!
}

And directly, as an Angular ng-pattern:

ng-pattern="/^(\d{5}(-\d{4})?|[A-Z]\d[A-Z] *\d[A-Z]\d)$/"