2013-11-21 55 views
2

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

+0

您可能需要编辑标题,什么是“PIN码”有什么关系你的问题? – pojo

+0

你想验证哪些地点?您提到英国和美国是下面的评论,但您需要将此添加到您的问题。 –

+0

这对英国来说将会非常困难。例如,公寓楼可以为不同楼层设置不同的邮政编码,而且GPS不具备区分它们的垂直精度。一个开始研究的地方(包括购买邮编信息的链接)是ONS邮政地理页面(请确保检查右边的相关链接):http://www.ons.gov.uk/ons/guide-method /geography/beginner-s-guide/postal/index.html –

回答

3

对于印度来说,可以使用下面的方法来验证pin码

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

这不检查格式是否有效,它实际上不检查它是否是该位置的正确邮政编码。 – Abizern

+0

@manujmv我想验证美国和英国。 – vivek

+0

但manujmv它只是检查代码是否有效....作为@Abizern告诉我还必须检查该邮编是否正确。 – vivek

0

雨燕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 
    }