iOS键盘中有一些特殊字符,我们常常会对它们做过滤和限制
例如,我们在账号登陆的时候限制,即:已经点击该按钮的时候,该:
+ (BOOL)checkAccountFormat:(NSString *)str{ /* 判断字符串是否为空 */ if (isStringEmpty(str)) { return NO; } /* 判断长度是否合法 */ if (str.length < 4 || str.length > 20) { return NO; } /* 用正则来限制是否合理 [a-zA-Z0-9_] 范围在这些 */ NSError *error = nil; NSRegularExPRession *expression = [NSRegularExpression regularExpressionWithPattern:@"^[a-zA-Z0-9_]*$" options:NSRegularExpressionCaseInsensitive error:&error]; if (error) { NSLog(@"%@", error); return NO; } NSUInteger numberOfMatches = [expression numberOfMatchesInString:str options:0 range:NSMakeRange(0, str.length)]; //NSLog(@"regex count == %d", numberOfMatches); return numberOfMatches;}还有一种实现,我们可以在输入的时候就限制其输入,使之无法输入,例如我们在对输入框限制汉字输入的时候:
/* 可以输入字母和数字,和一切iphone上的特殊字符,因为有些特殊字符,服务器并不限制 */#define kAlphaNumSpecial @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 -/:;()¥&@/".,?!'[]{}#%^*+=_//|~<>$€£•"/* 在代理方法中用字符集限制 */- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:kAlphaNumSpecial] invertedSet]; NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""]; return [string isEqualToString:filtered];}而关于,Xcode中一些特殊字符怎么输入,我们可以看这个:http://www.jianshu.com/p/518445088d11
新闻热点
疑难解答