[iOS] 限制输入中文的两个办法 ==>正则or键盘
2016-05-26 09:56
399 查看
正则判断
键盘限制
textfiled的代理方法 (这样限定后的字符,键盘输入时 将不能显示)
所以,通过这两种方法,都可以限制某种类型的字符输入,如果要限制其他的 要么替换正则表达式 要么就是限制输入的具体字符就可以
// ^[\u4e00-\u9fa5]*$ 限制只能输入中文的正则 if(![self matchStringFormat:self.accountTextField.text withRegex:@"^[\u4e00-\u9fa5]*$"]){ [MBProgressHUD showHUDAddedTo:self.view WithString:@"请输入中文,不能包含字母或数字"]; } #pragma mark - 正则判断 - (BOOL)matchStringFormat:(NSString *)matchedStr withRegex:(NSString *)regex { //SELF MATCHES一定是大写 NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex]; return [predicate evaluateWithObject:matchedStr]; }
键盘限制
textfiled的代理方法 (这样限定后的字符,键盘输入时 将不能显示)
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; // return NO to not change text { if (textField.tag == 1000991) { NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:ALPHANUM] invertedSet]; NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""]; if ([string isEqualToString:@""]) { return YES; } if ([string isEqualToString:filtered]) { return NO; }else{ return YES; } } return YES; }
所以,通过这两种方法,都可以限制某种类型的字符输入,如果要限制其他的 要么替换正则表达式 要么就是限制输入的具体字符就可以
相关文章推荐
- IOS 分类(category)、扩展(Extension)和继承(inheritance)的区别?
- 一个简单漂亮的iOS图表库:PNChart
- iOS 7系统 真机调试出现上下黑边
- DSP/BIOS的点点滴滴
- position与anchorPoint理解(一)
- iOS集成支付宝开发“抱歉,该商户未开通支付宝服务,无法支付”
- iOS极光推送证书
- ios 代理
- iOS高德地图方格
- Sending 'xxx *const __strong' to parameter of incompatible type 'id<aDelegate>'
- 【代码笔记】iOS-手机号验证
- 【代码笔记】iOS-手机号验证
- iOS MJRefresh下拉刷新 上拉加载(可添加gif图版) 小结
- iOS开源项目参考
- iOS开发系列--触摸事件、手势识别、摇晃事件、耳机线控
- iostat详解
- 推送通知的跳转
- iOS开发之点触textView编辑区关闭键盘
- iOS多线程编程及GCD简介
- iOS应用支持IPV6,就那点事儿