验证邮箱、手机号码的合法性
//验证邮箱的合法性 - (BOOL)validateInput:(UITextField *)input { if (input.text.length <= 0) { self.errorMessage = @"没有输入"; } else { NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",emailRegex]; BOOL isValid = [emailTest evaluateWithObject:input.text]; if (isValid == NO) { self.errorMessage = @"请输入正确的邮箱"; } else { self.errorMessage = nil; } } return self.errorMessage == nil; }
//验证手机号码的合法性 - (BOOL)validateInput:(UITextField *)input { if (input.text.length <= 0) { self.errorMessage = @"没有输入"; } else { // 移动号段正则表达式 NSString *CM_NUM = @"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(1705)\\d{7}$"; // 联通号段正则表达式 NSString *CU_NUM = @"^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))\\d{8}|(1709)\\d{7}$"; //电信号段正则表达式 NSString *CT_NUM = @"^((133)|(153)|(177)|(18[0,1,9]))\\d{8}$"; NSPredicate *pred1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM_NUM]; BOOL isMatch1 = [pred1 evaluateWithObject:input.text]; NSPredicate *pred2 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU_NUM]; BOOL isMatch2 = [pred2 evaluateWithObject:input.text]; NSPredicate *pred3 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT_NUM]; BOOL isMatch3 = [pred3 evaluateWithObject:input.text]; if (isMatch1 || isMatch2 || isMatch3) { self.errorMessage = nil; }else{ self.errorMessage = @"请输入正确的手机号码"; } } return self.errorMessage == nil; }