这段代码是我工作需要只能够限制文本框只能够输入中文英文,不能够输入数字和字符的代码
#define NMUBERS @"0123456789./*-+~!@#$%^&()_+-=,./;'[]{}:<>?`"
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
//不能多于6个字符
if (self.text.text.length >=20) {
return NO;
}
//只能输入英文或中文
NSCharacterSet * charact;
charact = [[NSCharacterSet characterSetWithCharactersInString:NMUBERS]invertedSet];
NSString * filtered = [[string componentsSeparatedByCharactersInSet:charact]componentsJoinedByString:@""];
BOOL canChange = [string isEqualToString:filtered];
if(canChange) {
UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"请输入英文或中文"
delegate:nil
cancelButtonTitle:@"确定"
otherButtonTitles:nil];
[alert show];
return NO;
}
return YES;
}