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