【问题标题】:Postal Code Validation in iOSiOS 中的邮政编码验证
【发布时间】:2017-05-18 12:22:21
【问题描述】:

我正在为 iOS 7 开发一个应用程序,我想在其中检索用户位置详细信息。 现在我还想要用户的邮政编码。而且我只想在该页面上检查用户输入的邮政编码是否有效。 我想为美国和英国验证。 如何做到这一点?

【问题讨论】:

  • 您可能想编辑标题,“pincode”与您的问题有什么关系?
  • 您想要验证哪些位置?您提到英国和美国是下面的评论,但您需要将此添加到您的问题中。
  • 这对英国来说是极其困难的。例如,公寓楼的不同楼层可能有不同的邮政编码,而 GPS 将没有垂直精度来区分它们。开始研究的地方(包括购买邮政编码信息的链接)是 ONS 邮政地理页面(确保检查右侧的相关链接):ons.gov.uk/ons/guide-method/geography/beginner-s-guide/postal/…
  • @Plague 我不确定Postal CodePostcode 好得多。似乎是一个非常毫无意义的编辑,我很惊讶它被批准了,因为它太小了。
  • @RoboticCat 听起来你完全误读了这个问题。他们只需要验证邮政编码,与 GPS 位置或任何东西无关。我觉得你真的想多了。

标签: ios ios7


【解决方案1】:

对于印度,您可以使用以下方法验证密码

-(BOOL)isValidPinCode:(NSString*)pincode    {
    NSString *pinRegex = @"^[0-9]{6}$";
    NSPredicate *pinTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pinRegex];

    BOOL pinValidates = [pinTest evaluateWithObject:pincode];
    return pinValidates;
}

对于美国,您可以使用

^\d{5}(-\d{4})?$

对于英国,使用这个

^([A-PR-UWYZ]([0-9]{1,2}|([A-HK-Y][0-9]|[A-HK-Y][0-9]([0-9]|[ABEHMNPRV-Y]))|[0-9][A-HJKS-UW])\ [0-9][ABD-HJLNP-UW-Z]{2}|(GIR\ 0AA)|(SAN\ TA1)|(BFPO\ (C\/O\ )?[0-9]{1,4})|((ASCN|BBND|[BFS]IQQ|PCRN|STHL|TDCU|TKCA)\ 1ZZ))$

【讨论】:

  • 这不只检查格式是否有效,它实际上并没有检查它是否是该位置的正确邮政编码。
  • 但是 manujmv 它只是检查代码是否有效......正如@Abizern 告诉我的,我还必须检查邮政编码是否正确。
  • 你好....我对此有疑问...如果用户输入 00000 会怎样....这段代码会验证吗?
  • @Manujmv 我试过你的英国代码,除了 M220XC 之外它工作正常
【解决方案2】:

Swift 3.0

对于美国,您可以使用以下方法来验证邮政编码

func validZipCode(postalCode:String)->Bool{
        let postalcodeRegex = "^[0-9]{5}(-[0-9]{4})?$"
        let pinPredicate = NSPredicate(format: "SELF MATCHES %@", postalcodeRegex)
        let bool = pinPredicate.evaluate(with: postalCode) as Bool
        return bool
    }

【讨论】:

    【解决方案3】:

    您可以使用此答案获取邮政编码。

    Get the Zip Code of the Current Location - iPhone SDK

    至于验证,这将取决于邮政编码所在的国家/地区,但这可能是一个很好的起点。

    how to validate Zipcode for US or Canada in iOS?

    【讨论】:

    • 这是对这里所面临问题的衡量。 “邮政编码”是美国邮政编码的本地化。其他地方存在各种其他方案。除非该应用程序仅用于美国地址,否则会出现损坏。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-09
    • 2018-07-21
    • 2014-09-08
    • 1970-01-01
    • 2022-12-11
    相关资源
    最近更新 更多