定义验证字符串时出错

时间:2013-12-23 10:08:47

标签: ios iphone validation

我已经编写了验证美国邮政编码的代码...但是它给了我错误,即未知的转义序列\ d,它位于验证字符串中。 代码:

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

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

    return [emailTest evaluateWithObject:zipstring];
}

2 个答案:

答案 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];
}