#pragma mark -监听uitextfield的值得变化
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (textField == self.shenFenZhengTF) {
if (range.length == 1 && string.length == 0) {
return YES;
}else if (self.shenFenZhengTF.text.length >= 18) {
self.shenFenZhengTF.text = [textField.text substringToIndex:18];
//email
[self showAlertInfor:@"身份证号最多输入18位"];
return NO;
}
if (self.shenFenZhengTF) {
NSMutableString *str = [NSMutableString stringWithFormat:@"%@",textField.text];
[str replaceCharactersInRange:range withString:string];
NSString *regex = @"[A-Za-z0-9]{0,18}";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
BOOL isValid = [predicate evaluateWithObject:str];
return isValid;
}
}
}
网友评论