伊朗邮政编码验证
Iranian postal code validation
拜托,我需要使用 regex
验证伊朗邮政编码。
我为这种情况编写了这个正则表达式 \b([^02\n\D]){4}[^5](\d){5}
但它不适用于规则编号 5 和 7。
请帮我解决一下。
这是关于此正则表达式的一些规则:
都是数字
10 位数
不要在前 5 位使用 0
不要在邮政编码中使用 2
前4位数字不一样
第5位不能为5
所有数字都不相同
以下正则表达式满足您的条件:
\b(?!(\d){3})[13-9]{4}[1346-9][013-9]{5}\b
解释:
\b
- 单词边界
(?!(\d){3})
- 否定前瞻以确保前 4 位数字不相同。
[13-9]{4}
- 匹配除 0
和 2
之外的所有数字的 4 次出现
[1346-9]
- 匹配不是 0
、2
或 5
的单个数字
[013-9]{5}
- 匹配除 2
之外的所有数字出现 5 次
\b
- 单词边界
拜托,我需要使用 regex
验证伊朗邮政编码。
我为这种情况编写了这个正则表达式 \b([^02\n\D]){4}[^5](\d){5}
但它不适用于规则编号 5 和 7。
请帮我解决一下。
这是关于此正则表达式的一些规则:
都是数字
10 位数
不要在前 5 位使用 0
不要在邮政编码中使用 2
前4位数字不一样
第5位不能为5
所有数字都不相同
以下正则表达式满足您的条件:
\b(?!(\d){3})[13-9]{4}[1346-9][013-9]{5}\b
解释:
\b
- 单词边界(?!(\d){3})
- 否定前瞻以确保前 4 位数字不相同。[13-9]{4}
- 匹配除0
和2
之外的所有数字的 4 次出现
[1346-9]
- 匹配不是0
、2
或5
的单个数字
[013-9]{5}
- 匹配除2
之外的所有数字出现 5 次
\b
- 单词边界