zoukankan      html  css  js  c++  java
  • iOS 限制输入框不能输入中文

    开发中遇到这个问题,想着还是总结下,刚开始只是限制UITextField的键盘为

    UIKeyboardTypeASCIICapable,可是当用户切换了中文键盘后依然没解决问题,于是我给输入框加了监听事件,获取输入框最新的输入内容,检测输入的内容中是否含有中文,如果有中文就替换成空字符串,具体实现如下:

    infoView.userTF.keyboardType = UIKeyboardTypeASCIICapable;

     //监听输入内容

    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(textFiledEditChanged:)

                                                    name:@"UITextFieldTextDidChangeNotification"

                                                  object:infoView.userTF];

    -(void)textFiledEditChanged:(NSNotification*)notification

    {

        UITextField*textField = notification.object;

        NSString*str = textField.text;

        for (int i = 0; i<str.length; i++)

        {

            NSString*string = [str substringFromIndex:i];

            NSString *regex = @"[u4e00-u9fa5]{0,}$"; // 中文

            // 2、拼接谓词

            NSPredicate *predicateRe1 = [NSPredicate predicateWithFormat:@"self matches %@", regex];

            // 3、匹配字符串

            BOOL resualt = [predicateRe1 evaluateWithObject:string];

            

            if (resualt)

            {

        //是中文替换为空字符串

                str =  [str stringByReplacingOccurrencesOfString:[str substringFromIndex:i] withString:@""];

            }

        }

        textField.text = str;

    }

  • 相关阅读:
    IntelliJ idea 2021.3 安装使用及激活
    高项-信息系统基础-UML图
    软考高项(信息系统项目管理师)介绍
    Android Studio中的Gradle面板没有Task任务列表如何找回?
    ubuntu 安装nodejs,npm,
    解决video.js video-player不能自动播放问题
    vuex开启namespaced
    axios提交body raw格式
    vue配置服务代理
    PIDFile没有配置导致将mongodb配置成服务时启动失败
  • 原文地址:https://www.cnblogs.com/cui-cui/p/7545692.html
Copyright © 2011-2022 走看看