Regex for zip-code

regex

Possible Duplicate:
What is the ultimate postal code and zip regex?

I need Regex which can satisfy all my three condtions for zip-code. E.g-

  1. 12345
  2. 12345-6789
  3. 12345 1234

Any pointers and suggestion would be much appreciated. Thanks !

Best Answer

^\d{5}(?:[-\s]\d{4})?$
  • ^ = Start of the string.
  • \d{5} = Match 5 digits (for condition 1, 2, 3)
  • (?:…) = Grouping
  • [-\s] = Match a space (for condition 3) or a hyphen (for condition 2)
  • \d{4} = Match 4 digits (for condition 2, 3)
  • …? = The pattern before it is optional (for condition 1)
  • $ = End of the string.