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
The following regex satisifes your conditions:
\b(?!(\d)\1{3})[13-9]{4}[1346-9][013-9]{5}\b
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 boundary
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.