身份证号键盘输入限制开发总结
来源:互联网 发布:sd卡数据恢复软件安卓 编辑:程序博客网 时间:2024/05/17 02:03
身份证号键盘输入限制开发总结:
需要注意的问题:
1,输入框限制的输入字符
2,输入框限制的输入个数限制
3,不同样式的原生键盘,比如九宫格键盘,英文状态下,长按键盘方式输入字母x会出现一次连出两个x的字符(即使已超过了限制的位数), 并且由于对字符限制了位数不能再变化输入的内容,所以也不能删除单个字符
解决方式:
1,输入框限制的输入字符(知识点:字符串_过滤处理NSCharacterSet与invertedSet)
//限制输入内容
NSCharacterSet* cs;
cs = [[NSCharacterSet characterSetWithCharactersInString:limitStr] invertedSet];
NSString* filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
BOOL canChange = [string isEqualToString:filtered];
return canChange;
备注:
(1)limitStr:是一个包含所有符合要求字符的字符串;
(2) invertedSet方法是去反字符,把所有的除了limitStr里的字符都找出来(包含去空格功能);
(3)componentsSeparatedByCharactersInSet: 字符串的拆分 ,在字符串中遇到字符集合类NSCharacterSet的 字符就拆分 ,返回的是一个数组类型,用法:
有字符串“A~B^C",我拆分为 "A", "B"和 "C"?
NSString *str = @"A~B^C";
NSArray *arr = [str componentsSeparatedByCharactersInSet: [NSCharacterSet characterSetWithCharactersInString:@"^~"]];
NSLog(@"%@", arr);
(4) componentsJoinedByString:数组中所有元素拼接成字符串,ByString后面的参数是拼接各个元素的分隔符。
如:[array compontsJoinedByString:@","];,即,把数组array 中的所有元素通过分隔符拼接成字符串。
(5)characterSetWithCharactersInString:通过 字符串参数 获取 NSCharacterSet字符集合
过滤掉非法字符的核心思路:
通过合法字符串构建的NSCharacterSet 去反(invertedSet)获取的非法字符集合对象NSCharacterSet类,先将要判断的字符串通过非法字符集合作为分隔符分割字符串 成一个个元素返回一个数组(作为分隔符的非法字符在遇到的时候不仅要分割字符串,并且去掉,那么数组中装的都是合法字符), 再将该数组进行拼接字符串 ,这样就可以过滤掉非法字符。
- 身份证号键盘输入限制开发总结
- 限制键盘输入
- edit限制输入身份证号
- onkeyup和onafterpaste键盘输入限制
- onkeyup和onafterpaste键盘输入限制
- 从键盘输入一个身份证号,获得该身份证主人年龄
- java接受键盘输入总结
- 键盘输入 + 当天总结
- Java键盘输入方式总结
- python 键盘输入总结
- 使用C#开发身份证号生成器
- iOS开发判断身份证号是否合法
- 应用开发常见厂商限制问题总结
- 关于iOS的键盘输入长度限制研究
- 函数判断键盘输入数字,限制用户输入
- 身份证号
- 身份证号
- 名字、身份证号校验;浮点数据精确度限制小工具整理
- AngularJS 服务
- angular-route传递参数
- weide科技公司Java实习生面试总结
- 思科2960交换机密码破解
- 人生苦短,我用python
- 身份证号键盘输入限制开发总结
- caffe 测试结果准确,classification的准确率很低原因
- 在windows上安装Maven
- C# ASP 调用MD5 加密密码
- VC设置鼠标样式
- eclipse安装JAVA反编译插件
- 工程师应该学会什么
- mysql count(1),count(*)问题
- 不良SQL的来源