工作经验12/21-uitextfield

我的工作小技巧总结

//这个可以自定义自己输入的集合,我用的比较多

//I want to check an NSString for special characters, i.e. anything expect a-z, A-Z and 0-9.

NSCharacterSet * set = [[NSCharacterSet characterSetWithCharactersInString:

@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLKMNOPQRSTUVWXYZ0123456789"] invertedSet];

if ([aString rangeOfCharacterFromSet:set].location != NSNotFound) {

NSLog(@"This string contains illegal characters");

}

//还有更简单的方法,使用正则判断格式是否正确

if ([aString isMatchedByRegex:@"[^a-zA-Z0-9]"]) {

NSLog(@"This string contains illegal characters");

}

//下面的是用来判断是否输入的是数字

if([packageNumberField.text rangeOfCharacterFromSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet]].location != NSNotFound)

{}

//下面是对特殊符号的输入进行判断

NSString *string = ;

NSString *specialCharacterString = @"!~`@#$%^&*-+();:={}[],.<>?\\/\"\'";

NSCharacterSet *specialCharacterSet = [NSCharacterSetcharacterSetWithCharactersInString:specialCharacterString];

if ([string.lowercaseString rangeOfCharacterFromSet:specialCharacterSet].length) {

NSLog(@"contains special characters");

}

//还有一种情况是需要删除特殊符号的情况

#define ACCEPTABLE_CHARACTERS @"!~`@#$%^&*-+();:=_{}[],.<>?\\/|\"\'0123456789"

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

NSCharacterSet *cs = [NSCharacterSet characterSetWithCharactersInString:ACCEPTABLE_CHARACTERS];

NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];

return (![string isEqualToString:filtered]) ? NO : YES;

}

//This code allows only numbers in UITextField input

//这个代理方法可以用来禁止你输入你不想要的字符

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

if ([string rangeOfCharacterFromSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet]].location != NSNotFound)

return NO;

else

return YES;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容