This question already has answers here:
I need to store postal codes in a database. How big should the column be?
                            
                                (8个答案)
                            
                    
                5天前关闭。
        

    

我正在尝试开发一个接受来自表单的邮政编码的应用程序。该表格可在全球范围内使用。我知道美国邮政编码的标准字符长度是5,但是非美国邮政编码的最小和最大长度是多少?我需要知道,因为我正在使用验证约束:

/**
     * The zip code used to retrieve a US based customer's state.
     */
    @Nullable
    @Size(min=5, max=5)
    private final String zip;


由于该帖子,该问题被标记为重复:I need to store postal codes in a database. How big should the column be?。并未指定所有非美国邮政编码的下限。

最佳答案

这是一个复杂的问题,从根本上说,它并不是编程问题。邮政编码具有a lot of complexities。因此,它们出现在programmers' incorrect assumptions编年史中。

您可以使用诸如FedEx中的this table之类的准则,例如


  PT-葡萄牙-NNNNNNNN-nnnNNNNnnn


但是请记住,大多数资源(如该资源)都是不完整的。



我建议问:为什么要打扰?如果您想接受来自世界各地的邮政编码,而如果它们不在您允许的长度范围内,则会失败,那么实际上您根本就无法保护自己。邮政编码最短的国家/地区的用户可以输入长度最长的国家/地区的邮政编码。一个国家/地区中使用严格数字邮政编码的用户可能输入一个带有字母字符的邮政编码。

确保(确保某些有意义的值)的唯一方法是使用某种形式的address validation

关于java - 非美国邮政编码的最小和最大字符长度是多少?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61376748/

10-14 04:49