Ios 检查邮政编码是否在范围内

Ios 检查邮政编码是否在范围内,ios,regex,postal-code,Ios,Regex,Postal Code,这可能是一个愚蠢的问题,但我对iOS编程还不熟悉,我想不出任何东西。 对于我的应用程序,我需要检查某个邮政编码是否在范围内。这是很容易做到的德国或美国代码是普通的数字,但现在我要做的加拿大 加拿大邮政编码示例如下所示:A0A、J3X、R7N、V1M 有办法做到这一点吗 谢谢你的帮助 您可以像这样使用正则表达式: ^(A0A|J3X|R7N|V1M)$ ^(A0A|J3X|R7N|V1[M-Z])$ ^--- Will match V1M until V1Z

这可能是一个愚蠢的问题,但我对iOS编程还不熟悉,我想不出任何东西。 对于我的应用程序,我需要检查某个邮政编码是否在范围内。这是很容易做到的德国或美国代码是普通的数字,但现在我要做的加拿大

加拿大邮政编码示例如下所示:A0A、J3X、R7N、V1M

有办法做到这一点吗


谢谢你的帮助

您可以像这样使用正则表达式:

^(A0A|J3X|R7N|V1M)$
^(A0A|J3X|R7N|V1[M-Z])$
                 ^--- Will match V1M until V1Z
如果需要范围,可以执行以下操作:

^(A0A|J3X|R7N|V1M)$
^(A0A|J3X|R7N|V1[M-Z])$
                 ^--- Will match V1M until V1Z
范围V1Z的另一个示例可能是:

^(A0A|J3X|R7N|V[5-9][M-Z])$
                 ^--- Will match VxM until VxZ and V5x until V9x
如果您只需要一个数字,可以使用
\d
(这是
[0-9]
的快捷方式)。与
\w
相同,这意味着
[A-Za-z0-9.]

可以使用正则表达式类指定范围。比如:

[0-4]
[7-9]
[A-M]
[O-X]

对正则表达式字符类范围的工作方式有很好的描述意译为:您不仅限于字母和数字(
[A-Z]
[0-9]
),而且在尝试更复杂的范围时应该小心

范围将允许起始字符和结束字符之间的任何字符匹配。这意味着任何范围在技术上都是有效的(您可能只看到奇怪的结果)。例如,这两个类是相同的:

[0-Z]
[0-9:;<=>?@A-Z]
[0-Z]
[0-9:;?@A-Z]

你想要这样的东西吗:
^(A0A | J3X | R7N | V1M)$
?@Fede哦,天哪,我现在真的很傻,因为我还没有想到这个哈哈!拥有射程也有类似的事情吗?例如V1M-V1Z?我将用它发布一个答案,只是当你开始喜欢正则表达式中的字符类范围时要小心。它从头到尾贯穿整个过程,所以。@Sam是的,你完全正确。如果你愿意,我可以用你的答案更新我的答案comment@user3347446很乐意帮忙。