最近比较忙,一直陷入业务的泥沼不可自拔,很少有时间独立思考作作总结,因为平时上班遇到问题就是打开浏览器各种搜寻轮子,百分之八九十的问题也能解决,但是对于个人成长还是感觉有所缓慢,最近开始总结项目的点点滴滴,需要开始写写博客了,那就从基础的笔记写起吧,熟能生巧,由浅入深,这是一个良性的开端。
1. 汉字转拼音,用的系统的API CFStringTransform
1 | ///MARK:- 汉字转拼音 是否需要声调 |
2. 纯英文输入,记得之前记录过设置安全键盘可以实现限制输入中文和emoji表情的另类实现,即设置输入框的属性secureTextEntry
,根据键盘的弹出和隐藏动态切换,但是有一点小小的瑕疵(在支持touchID的手机,键盘上方会出现一个小圆圈,就是类似钥匙串的玩意儿,点击之后,验证touchID,然后会看到自己以往在iCloud记录的账户密码.... 安全以及UI方面不是很符合要求
),在这里介绍另一种实现方式
1 | - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ |
3. 利用正则过滤字符
1 | //根据正则,过滤特殊字符 |
4. 只能输入中文和只输入英文的处理(标点符号之类的需要自己额外处理一下
)
1 | // 监听处理输入的字符串 把不符合要求的字符串替换掉 |
5. 一些判断纯中文,纯英文,纯数字的正则的方法
1 | //限制中文输入 判断是否中文 |
6. URL含有中文或者百分号%
,有时候需要根据业务需求编码或者解码,如下:
1 | //以下是添加的NSString的category方法 |
7. 解析URL的参数 即问好后面的参数键值对,入参是 [url query]
值得注意的是如果urlString含有中文的话,调用[url query]
是读不出数据(null)
, 我认为采用字符串截取比较安全的做法,不用转来转去,我也是这样做的
1 | // 扫二维码或者什么操作获取一段URLString 即 |
8. 提取字符串中的数字部分 (局限是会把所有数字都提取出来 可以自己使用逗号分隔,数组切割区分,因为我当时的需求是一串字符串中有且只有一串连续的数字 所有全部提取出来就是了
)
1 | - (NSString *)getNumberFromString{ |
9. 全角标点符号转半角符号
1 | - (NSString *)full2HalfWithNSString:(NSString *)string { |