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
新聞熱點
疑難解答