I'm trying to build a regular expression in javascript to validate a Dutch zipcode.
The zipcode should contain 4 numbers, then optionally a space and then 2 (case insensitive) letters
Valid values:
1001aa
1001Aa
1001 AA
I now have this, but it does not work:
var rege = /^([0-9]{4}[ ]+[a-zA-Z]{2})$/;
I want to write a str_detect regex that only gives TRUE when there is a Dutch postal code (i.e., four digits first and two letters after. Non case sensitive). I also found this question before: Regular expression for Dutch zip / postal code.
ZIP codes are postal codes used in the United States, and are used with an address to describe the region that the address is located in. How do we write a regular expression that will match or validate a ZIP code?
A regular expression for ZIP codes needs to match 5 digits at the start, followed by 4 optional digits that further refine the region. The last 4 digits can be separated from the first 5 by a dash or space, or they can be written without any separator.
The zipcode should contain 4 numbers, then optionally a space and then 2 (case insensitive) letters Show activity on this post. Edited to handle no leading 0 requirement for Dutch postal codes, and to eliminate matches for SS, SA, and SD. This should do it all for you.
Edited to handle no leading 0 requirement for Dutch postal codes, and to eliminate matches for SS, SA, and SD. This should do it all for you.
Final regex:
var rege = /^[1-9][0-9]{3} ?(?!sa|sd|ss)[a-z]{2}$/i;
Fiddle unit test: http://jsfiddle.net/hgU3u/
Here's a breakdown:
^
matches beginning of string[1-9][0-9]{3}
matches a single non-zero digit, and three 0-9 digits?
matches 0 or 1 spaces (you could use *
to match 0 or more spaces)(?!sa|sd|ss)
is a lookahead test to check that the remainder is not "sa", "sd", or "ss".[a-z]{2}
matches 2 a-z characters$
matches the end of the stringi
at the end is the case-insensitive modifierIf you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With