根据 JavaScript(邮政编码)中的预定义格式验证字符串

Validating string against predefined formats in JavaScript (postal codes)

不确定这有多容易,但也许你们中的一些人可以提供帮助。

我有一个文件,其中包含不同国家可接受的邮政编码格式。

下面的例子是美国的,它是这样列出的:

    COUNTRY CODE |     FORMAT    | # OF CHARS TO VALIDATE
     US          |   99999-9999  | 5 |
     US          |   999999999   | 5 |
     US          |   99999       | 5 |

(注意:我添加了一个header和额外的空格以使其更read-able)。

对于使用 ALPHA NUMERIC 邮政编码的英国等国家/地区,情况会变得更加复杂,如下所示:

    COUNTRY CODE |     FORMAT    | # OF CHARS TO VALIDATE
    GB           |     A9 9AA    | 4 |
    GB           |     AA9A9AA   | 5 |
    GB           |     AA9A 9AA  | 6 |
    GB           |     AA99AA    | 4 |
    GB           |     AA999AA   | 5 |
    GB           |     AA99 9AA  | 6 |
    GB           |     AA9 9AA   | 5 |
    GB           |     A9A9AA    | 4 |
    GB           |     A9A 9AA   | 5 |
    GB           |     A99AA     | 3 |
    GB           |     A999AA    | 4 |
    GB           |     A99 9AA   | 5 |

所以基本上我需要做的是获取从用户输入的邮政编码,并根据我为该国家/地区接受的格式验证它。

老实说,我不知道该怎么做,想知道 JavaScript 是否可行。

有什么建议、想法吗?

提前致谢。

您将需要使用正则表达式,这将是最有效的方法。如果您将所有可用格式放在一个数组中并按照您在评论中建议的格式进行检查,那么您将 运行 遇到问题,因为它将检查长度而不是其中的字符模式。

您始终可以在不使用正则表达式的情况下列出所有邮政编码并对照 JS 中的邮政编码进行检查,但这比听起来更糟糕。可以用来检查一些项目,对于邮政编码来说非常糟糕。

正则表达式是您完成这项任务的好帮手。