Please, I need to validate Iranian postal code using regex
.
I write this regex for this case \b([^02\n\D]){4}[^5](\d){5}
but its not working on rule number 5 and 7.
please help me to fix it.
this is some rules about this regex:
It's all numeric
10 digit count
don't use 0 in first 5 digit
don't use 2 in postal code
First 4 digit is not the same
The 5th digit cannot be 5
all digits aren't the same
Iran does not use zip or postal codes. If it's required for an online forms, use 00000 or other random numbers.
Iranian addresses are given in the order of Country, City, Street, Lane, No., Postal code.
A United States postal code, for example, might be either five digits or five digits followed a hyphen (dash) and another four digits (12345-1234). If you are validating US postal codes, allow for both conditions. The following rule validates a field that can be five digits, five digits + dash + 4 digits, or blank.
The following regex satisifes your conditions:
\b(?!(\d)\1{3})[13-9]{4}[1346-9][013-9]{5}\b
Click for Demo
Explanation:
\b
- a word boundary(?!(\d)\1{3})
- negative lookahead to make sure that the 1st 4 digits are not the same.[13-9]{4}
- matches 4 occurrences of all the digits except 0
and 2
[1346-9]
- matches a single digit that is not a 0
,2
or 5
[013-9]{5}
- matches 5 occurrences of all the digits except 2
\b
- a word boundaryIf 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