美文网首页
iOS 限制输入中文 编辑时字母大写

iOS 限制输入中文 编辑时字母大写

作者: 其实也是 | 来源:发表于2019-08-15 10:50 被阅读0次

    最近业务要求输入字母的同时必须强制大写,而且不能录入中文,点击提交的时候判断还不行,必须要求输入的同时判断匹配

    - (void)textFieldChangeValue:(UITextField *)textfield{
        if ([[MBISingletonCacheData retrieveUserSegmentId] isEqualToString:@"91"]) {
            if ([[UITextInputMode currentInputMode].primaryLanguage isEqualToString:@"zh-Hans"]) {//这个方法在iOS 7 被废弃,但是可以使用
                return;
            }else{
                textfield.text = [textfield.text uppercaseString];
            }
        }
    }
    
    - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
        if ((textField.tag == 666 || textField.tag == 777)&&[[MBISingletonCacheData retrieveUserSegmentId]isEqualToString:@"91"]) { // 判断输入框是当前需要判断控制的输入框
            NSCharacterSet *set = [[NSCharacterSet characterSetWithCharactersInString:ALPHA] invertedSet];
            NSString *filterd = [[string componentsSeparatedByCharactersInSet:set] componentsJoinedByString:@""];
            return [string isEqualToString:filterd];
        }
        return false;
    }
    

    ALPHA 使用宏定义写好 def ALPHA @"QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm 1234567890"

    相关文章

      网友评论

          本文标题:iOS 限制输入中文 编辑时字母大写

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