验证一长串随机邮政编码的最佳方法

Posted

技术标签:

【中文标题】验证一长串随机邮政编码的最佳方法【英文标题】:Best way to validate long list of random postal codes 【发布时间】:2016-07-06 09:58:31 【问题描述】:

我有一长串需要验证的邮政编码。

Link to postal codes

正如你所看到的,它非常随机,没有真正的顺序。

我试着做一个开关,像这样手工把所有东西都放进去:

switch (true) 
                    case ($(this).val().length < 5) :
                        console.log("not filled out");
                        break;
                    case (number >= 1001 && number <= 6999):
                        validated = true;
                        error = false;
                        break;
                    case (number >= 8001 && number <= 34999):
                        validated = true;
                        error = false;
                        break;
                    case (number >= 36001 && number <= 37999):
                        validated = true;
                        error = false;
                        break;
                    default:
                        console.log("error");
                        error = true;
                

但我很快意识到这将是一个愚蠢的长代码。 验证所有邮政编码范围的更好方法是什么?

【问题讨论】:

是否有过您希望错误等于验证的情况?如果没有,为什么两者都有? 也许您可以将有效代码范围存储在 json 文件(或数据库)中,然后在验证时拉取并迭代它们? 【参考方案1】:

你可以为这样的事情减少你的开关

switch (true) 
    case ($(this).val().length < 5) :
        console.log("not filled out");
        break;
    case (number >= 1001 && number <= 6999):
    case (number >= 8001 && number <= 34999):
    case (number >= 36001 && number <= 37999):
        validated = true;
        error = false;
        break;
    default:
        console.log("error");
        error = true;

然后你可以添加你需要的规则列表

【讨论】:

以上是关于验证一长串随机邮政编码的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章

编写一长串 if 语句的速记方法

在Java .replaceAll方法中转义一长串元字符

题目1021:统计字符------------------------主要注意输入的方法,如何让一长串的字符都接收到字符串中

java:一长串条件,怎么办? [关闭]

如何为一长串整数创建优化的迭代器?

在表格视图中获取“值”的最佳方法 [关闭]