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

时间:2016-10-19 20:13:18

标签: javascript regex validation country-codes

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

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

以下示例适用于美国,它的列表如下:

    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 |

所以基本上我需要做的是从USER输入一个邮政编码,并根据我所接受的国家格式对其进行验证。

老实说,我不知道如何去做这件事,并且想知道是否有可能使用JavaScript。

有什么建议,想法吗?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

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

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

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