首先保证UITextField声明了UITextFieldDelegate
将下面的方法粘到类中
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
//禁止输入表情符号,空格
if ([[[UITextInputMode currentInputMode] primaryLanguage]isEqualToString:@"emoji"] || [string isEqualToString:@" "]) {
return NO;
}
//InformationPhone为宏定义这个大家可以自己定义保证他的值与textField.tag相等
if(textField.tag == InformationPhone)//控制输入手机号码UITextField内输入字符串的长度
{
if (string.length == 0) return YES;
NSInteger existedLength = textField.text.length;
NSInteger selectedLength = range.length;
NSInteger replaceLength = string.length;
if (existedLength - selectedLength + replaceLength > 11) {
return NO;
}
return YES;
}
//InformationTagCertNo为宏定义这个大家可以自己定义保证他的值与textField.tag相等
if(textField.tag==InformationTagCertNo)//控制输入身份证UITextField内输入字符串的长度
{
if (string.length == 0) return YES;
NSInteger existedLength = textField.text.length;
NSInteger selectedLength = range.length;
NSInteger replaceLength = string.length;
if (existedLength - selectedLength + replaceLength > 18) {
return NO;
}
return YES;
}
return YES;
}