//UITextField控制只输入数字
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
NSCharacterSet *cs;
if(textField.tag == 3 ){
cs = [[NSCharacterSet characterSetWithCharactersInString:@"0123456789\n"] invertedSet];
NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
BOOL basicTest = [string isEqualToString:filtered];
if(!basicTest)
return NO;
} else if (textField.tag == 6) {
cs = [[NSCharacterSet characterSetWithCharactersInString:@"0123456789x\n"] invertedSet];
NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
BOOL basicTest = [string isEqualToString:filtered];
//控制在18个字符
if ([textField.text length] > 17) {
textField.text = [textField.text substringToIndex:18];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"请输入正确的身份证号码" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil] ;
[alert show];
return NO;
}
if(!basicTest)
return NO;
}
return YES;
}