简体   繁体   中英

Iranian postal code validation

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:

  1. It's all numeric

  2. 10 digit count

  3. don't use 0 in first 5 digit

  4. don't use 2 in postal code

  5. First 4 digit is not the same

  6. The 5th digit cannot be 5

  7. 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

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 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM