博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UITextField 只允许输入数字和字母 解决联想中文等问题
阅读量:5907 次
发布时间:2019-06-19

本文共 1003 字,大约阅读时间需要 3 分钟。

  hot3.png

- (void)reTextFieldDidChange:(UITextField *)textField{//输入文本时调用

    //将输入的小写x转换成大写

    textField.text = [textField.text stringByReplacingOccurrencesOfString:@"x" withString:@"X"];

    //解决联想输入的问题

    NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:@"Xx0123456789"] invertedSet];//里面放允许输入的字符

   textField.text = [[textField.text componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:];

    if (textField.text.length > 18) {

        textField.text = [textField.text substringToIndex:18];

    }

}

 

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{

    //设置只能输入字母数字  和 文本框最大长度

    NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:@"Xx0123456789"] invertedSet];

    NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];

    return [string isEqualToString:filtered] && (textField.text.length - range.length + string.length) <= 18;

}

转载于:https://my.oschina.net/biyu6/blog/719656

你可能感兴趣的文章
Linux常用基本命令( rmdir, rm, mv )
查看>>
POJ2406 Power Strings(KMP)
查看>>
JavaScript-console的使用_016
查看>>
两种方式设置iframe的高度区别
查看>>
Iterator 和 for...of 循环
查看>>
关于iOS 11.x微信连wifi流程中,在Portal页无法拉起微信问题的简单记录
查看>>
Python GUI库wxPython官网Hello World示例的逐行解释
查看>>
RE·WORK 巅峰对话:深度学习将彻底改变医疗健康领域
查看>>
Codeforces Round #442 (Div. 2) A B
查看>>
极值问题(acms)
查看>>
swift UI专项训练8 展示数据
查看>>
一起学shell(十一)之安全的shell脚本:起点
查看>>
Microsoft® Deployment Toolkit 2010之快速部署Windows 7
查看>>
LNMP的技术讲解
查看>>
SVN Hooks的介绍及使用
查看>>
Oracle 字符集的查看和修改【上】
查看>>
tomcat注册windows服务
查看>>
使用qq邮箱的smpt服务发送邮件一定要记得用ssl
查看>>
20个非常有用的Java代码片段
查看>>
网站优化和竞价有什么区别
查看>>