2013-12-23 37 views
0

我已經編寫了驗證美國郵政編碼的代碼......但它給了我錯誤,未知的轉義序列\ d在驗證字符串中。 代碼:定義驗證字符串時出錯

- (BOOL)zipcodevalidation:(NSString *)zipstring { 

    NSString *emailRegex = @"(^\d{5}(-\d{4})?$)"; 
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; 

    return [emailTest evaluateWithObject:zipstring]; 
} 

回答

2

你需要逃避反斜槓使該字符串不理解他們,像在字符串中使用類似\t轉義序列,\n

@"(^\\d{5}(-\\d{4})?$)"; 
+0

當我輸入00000。根據這個驗證碼是否有效? – vivek

0

試試這個美國郵編valiadtion

- (BOOL)zipcodevalidation:(NSString *)zipstring { 

    NSString *emailRegex = @"(^[0-9]{5}(-[0-9]{4})?$)"; 


    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; 

    return [emailTest evaluateWithObject:zipstring]; 
} 
+0

你確定這將工作正常嗎? – vivek

+0

是的,我已經在你的代碼實施和檢查 – Deepesh

+0

我的意思是這將肯定驗證美國的郵政編碼? – vivek