美文网首页
关于iOS 键盘输入限制1.(只能输入字母,数字) 2.(只能输

关于iOS 键盘输入限制1.(只能输入字母,数字) 2.(只能输

作者: 林希品 | 来源:发表于2022-02-22 17:43 被阅读0次

关于iOS 键盘输入限制(只能输入字母,数字)

#define NUM @"0123456789"
#define ALPHA @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
#define ALPHANUM @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
   NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:ALPHANUM] invertedSet];
    NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
    return [string isEqualToString:filtered];
}

关于iOS 键盘输入限制(只能输入汉字,字母,数字)

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    if ([self isInputRuleAndNumber:string] || [string isEqualToString:@""]) {
        return YES;
    }
    return NO;
}
- (BOOL)isInputRuleAndNumber:(NSString *)str {
    NSString *other = @"➋➌➍➎➏➐➑➒";     //九宫格的输入值
    if ([other rangeOfString:str].location != NSNotFound) {
        return YES;
    }
    NSString *pattern = @"[a-zA-Z\u4E00-\u9FA5\\u0030-\\u0039]+";
    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];
    BOOL isMatch = [pred evaluateWithObject:str];
    return isMatch;
}

相关文章

网友评论

      本文标题:关于iOS 键盘输入限制1.(只能输入字母,数字) 2.(只能输

      本文链接:https://www.haomeiwen.com/subject/rtgglrtx.html