我已经编写了验证美国邮政编码的代码...但是它给了我错误,即未知的转义序列\ d,它位于验证字符串中。 代码:
- (BOOL)zipcodevalidation:(NSString *)zipstring {
NSString *emailRegex = @"(^\d{5}(-\d{4})?$)";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
return [emailTest evaluateWithObject:zipstring];
}
答案 0 :(得分:2)
您需要转义反斜杠,以便字符串不会将它们解释为在\t
,\n
等字符串中使用的转义序列
@"(^\\d{5}(-\\d{4})?$)";
答案 1 :(得分:0)
尝试使用美国邮政编码验证
- (BOOL)zipcodevalidation:(NSString *)zipstring {
NSString *emailRegex = @"(^[0-9]{5}(-[0-9]{4})?$)";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
return [emailTest evaluateWithObject:zipstring];
}