iOS中的邮政编码validation

我正在开发iOS 7的应用程序,我想要检索用户位置的详细信息。 现在我也想要用户的邮政编码。 而且我只想检查用户input的邮政编码是否有效。 我想validation美国和英国。 如何做到这一点?

对于印度,您可以使用下面的方法来validationPIN码

 -(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))$ 

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

获取当前位置的邮编 – iPhone SDK

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

如何在iOS中validation美国或加拿大的Zipcode?

Swift 3.0

对于美国,你可以使用下面的方法来validationZipCode

 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 }