美文网首页
iOS-UITextField对输入字符控制

iOS-UITextField对输入字符控制

作者: 小_黑_屋 | 来源:发表于2017-09-13 16:53 被阅读0次

人一切的痛苦,本质上都是对自己的无能的愤怒。

前两天因为TextField的长度控制和字符过滤搞得我是心力憔悴,这酸爽…… ,所以现在封装了一下对TextField的字符的控制
demo地址: https://github.com/ChenBiaoHub/TextFieldControl

效果演示(这里限制的输入长度是十位,不能输入表情)

效果图

解决问题

  • 系统自带输入法输入中文的时候,会先将拼音输入到输入框中,从而导致了长度限制出现问题
    • 如:在长度限制为10的输入框中,已经输入了9位,这时候还想输入“你”这个字,输入的时候还只输了一个n就输不出来了,导致我们输入的问题
  • 输入的时候对字符进行特殊的限制,如只能输入中文和数字等,不能输入 / 等特殊字符,或者对表情过滤等

主要功能

  • 对输入框字符长度控制
  • 对输入框输入的文字过滤

使用示例

#import "ViewController.h"
#import "NSString+CBTextField.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextField *testTextField;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    //注意 这里状态别写错了 使用的是 UIControlEventEditingChanged
    [self.testTextField addTarget:self action:@selector(textFieldChange:) forControlEvents:UIControlEventEditingChanged];
}


- (void)textFieldChange:(UITextField *)textField {
    
//    //去除所有表情
//    [NSString refuseOnlyEmojiTextField:textField TextLength:10];

//    //去除所有特殊字符(只留 中文 数字 字母)
//    [NSString refuseAllSpecialWorldTextField:textField TextLength:-1];
    
    //去除特殊字符(保留自己定义的)
    [NSString containSpecialWorld:@"-=,." TextField:textField TextLength:10];
}
@end

写在后面的话

  • 因为目前遇到的情况有限,所有这个方法肯定有很多情况没考虑到,所以欢迎大家将遇到的问题在这里或者github提出来,以便改进项目,方便大家使用,谢谢大家咯!

相关文章

  • iOS-UITextField对输入字符控制

    人一切的痛苦,本质上都是对自己的无能的愤怒。 前两天因为TextField的长度控制和字符过滤搞得我是心力憔悴,这...

  • JS控制文本框禁止输入特殊字符大全

    JS 控制不能输入特殊字符 JS 控制文本框只能输入数字 JS 控制文本框只能输入数字、小数点 JS 控制文本框只...

  • cocos creator常用

    cocos creator常用 1. 输入框控制输入非法字符 onEditingTextChanged (even...

  • C++笔记

    C++笔记 一、输入输出 scanf 输入字符串,%c,空格是不会被跳过的 用scanf输入,出现非控制字符,则...

  • 输入框字符控制

    场景公司开发,需求中要求输入框对输入文本内容进行控制,以前一贯使用length判断。由于string情况下无论是汉...

  • 输入特殊控制字符

    如图中的 ^V,^ 并不是键盘数字 6上的符号 输入方法:Ctrl + v,进入状态,之后按下你需要的控制字符: ...

  • ASCII码中的控制字符

    控制字符是不可打印字符。可打印的字符是可以从键盘上输入的字符 第0~32号及第127号(共34个)是控制字符或通讯...

  • 从控制台输入输出

    从控制台输入 Console.Read()可以在控制台输入任何值,但只读取第一个字符,并且是该字符的 ASCII ...

  • Java初级笔记No.2(更新中)

    2018.7.26 1、读取控制台输入java中的控制台输入由System.in完成,为了获得一个控制台的字符流,...

  • 预防SQL注入

    预防SQL注入 1.控制输入变量的格式 增加对输入信息的判断,过滤掉一些带特殊字符的输入。 2.转义特殊字符

网友评论

      本文标题:iOS-UITextField对输入字符控制

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