- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
//删除处理
if ([string isEqualToString:@""]) {
return YES;
}
//首位不能为.号
if (range.location == 0 && [string isEqualToString:@"."]) {
return NO;
}
return [self isRightInPutOfString:textField.text withInputString:string range:range];
}
- (BOOL)isRightInPutOfString:(NSString *) string withInputString:(NSString *) inputString range:(NSRange) range{
//判断只输出数字和.号
NSString *passWordRegex = @"[0-9\\.]";
NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",passWordRegex];
if (![passWordPredicate evaluateWithObject:inputString]) {
return NO;
}
//逻辑处理
if ([string containsString:@"."]) {
if ([inputString isEqualToString:@"."]) {
return NO;
}
//限制两位小数
NSRange subRange = [string rangeOfString:@"."];
if (range.location - subRange.location > 2) {
return NO;
}
}
return YES;
}
限制 输入框 只允许输入 两位小数
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 前言 相信大家在ios移动应用开发中,经常会遇到这样的需求:给输入框限定输入格式,比如最多只能输入11个电话数字、...
- 网上看了很多教程,还是用正则匹配最稳函数: 调用: 参考:https://www.cnblogs.com/fred...