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

Validating string against predefined formats in JavaScript (postal codes)

本文关键字:邮政编码 验证 字符串 格式 JavaScript 预定义 根据      更新时间:2023-09-26

不知道这有多容易,但也许你们中的一些人可以帮忙。

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

下面的例子是针对美国的,如下所示:

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

(注意:我添加了一个标题和额外的空格,使其更易于阅读)

对于像英国这样使用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中放置一个所有邮政编码的列表,并在不使用正则表达式的情况下进行检查,但这比听起来更糟糕。Ok,用来检查一些项目,不适合用于邮政编码。

正则表达式是您完成此任务的朋友。