0

我正在编写由其他人实现的代码,如下所示

+(BOOL)emailValidate:(NSString *)email  {
NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; 
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; 
return [emailTest evaluateWithObject:email];
}

+(BOOL) IDValidate:(NSString *)ID {
NSString *regexString = @"[ A-Z0-9a-z_+-]{1,20}"; 
NSPredicate *regex = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regexString]; 
return [regex evaluateWithObject:ID];
}

我想在 ID 和电子邮件中使用空格“”和逗号“,”,我搜索了很多如何更改 predicateFormat 但找不到答案。

4

1 回答 1

0

首先,Coma (,)不允许在电子邮件中使用。但是对于您的情况,请使用以下正则表达式:

For "xyx,+ xyz125"
  ^[a-zA-Z0-9][a-zA-Z0-9,+_- ]+$
For email
^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
            + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$

希望能解决你的问题。

于 2013-11-21T08:45:50.507 回答