大佬教程收集整理的这篇文章主要介绍了ios – 如何在用户输入字符并防止无效字符时测试UITextField的字符输入,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想做的是测试用户输入的输入,并防止输入多个小数,并将数字的小数部分限制在两个位置.我不想舍弃数字,也不想把输入视为一个数字.我只想阻止用户输入小数点右边的两位数字.
以下实现的shouldChangeCharactersInRange代理方法是我的解决方案.与往常一样,正则表达式在这种情况下摇滚. RegExLib.com是有用的RegEx样品或解决方案的绝佳来源.我不是RegEx大师,总是努力把它们放在一起,所以任何改进建议都是值得欢迎的.
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRangE)range replacementString:(NSString *)String { if (textField == self.quantityTextField) { NSString *newString = [textField.text StringByreplacingCharactersInRange:range withString:string]; NSString *expression = @"^([0-9]+)?(\\.([0-9]{1,2})?)?$"; NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:expression options:NSRegularExpressionCaseInsensitive error:nil]; NSUInteger numberOfMatches = [regex numberOfMatchesinstring:newString options:0 range:NsmakeRange(0,[newString length])]; if (numberOfMatches == 0) return NO; } return YES; }
上述代码允许用户输入这些值:1,1.1,1.11,.1,.11.请注意,此实现不会替换文本字段的字符串,这将导致递归.如果’newString’与正则表达式不匹配,则此解决方案只会拒绝用户输入的下一个字符.
以上是大佬教程为你收集整理的ios – 如何在用户输入字符并防止无效字符时测试UITextField的字符输入全部内容,希望文章能够帮你解决ios – 如何在用户输入字符并防止无效字符时测试UITextField的字符输入所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。