2013-11-21 92 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 
    }