当前位置: 首页 > news >正文

对UITextField输入内容的各种限制-总结

使用代理方法来限制输入框中的字数,输入的符号,输入的数字大小等各种限制

限制输入字数
已经有小数点了,就不能继续输入小数点
不能输入以0为开头的内容
不能输入以.为开头的内容
小数点后只允许输入一位数
只能输入100以下的数值
**不能包括小数点 **

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {guard let text = textField.text else { return true }//已经有小数点了,就不能继续输入小数点if text.contains("."), string == "." {return false}//不能输入以0为开头的内容if text == "", string == "0" {return false}//不能输入以.为开头的内容if text == "", string == "." {return false}print(string)let allText = text + string// 小数点后只允许输入一位数if allText.contains(".") {let arr = allText.components(separatedBy: ".")if arr.count == 2 {let last = arr.last!return last.count <= 1 }print(arr)}// 不能包括小数点 (仅仅举例说明,与上有冲突)if allText.contains(".") { return false}//限制输入字数let newLength = text.count + string.count - range.lengthreturn newLength <= 4//只能输入100以下的数值let allValue = (allText as NSString).doubleValuereturn allValue <= Double(100.0)// 限制只能输入数字和删除键(backspace)let allowedCharacters = CharacterSet.decimalDigitslet characterSet = CharacterSet(charactersIn: string)return allowedCharacters.isSuperset(of: characterSet)}
http://www.lryc.cn/news/95477.html

相关文章:

  • 【图论】二分图
  • 数据结构——(一)绪论
  • [ 华为云 ] 云计算中Region、VPC、AZ 是什么,他们又是什么关系,应该如何抉择
  • 表单验证:输入的字符串以回车分隔并验证是否有
  • 智能财务分析-亿发财务报表管理系统,赋能中小企业财务数字化转型
  • 图为科技T501赋能工业机器人 革新传统工业流程
  • 安全狗深度参与编写的《云原生安全配置基线规范》正式发布!
  • 如何在3ds max中创建可用于真人场景的巨型机器人:第 2 部分
  • Vue中TodoList案例_编辑
  • 什么是Redis?
  • 深入浅出理解vue2/vue3响应式原理
  • ssh连接服务器配置
  • el-table 表头设置渐变色
  • GB/T 25000.51解读——软件产品的易用性怎么测?
  • 408复试day2(7大排序算法)
  • Vue消息订阅与发布
  • MySQL学习笔记 ------ 分组查询
  • Matlab 点云平面特征提取
  • vite的介绍
  • 裁员 10%,暴跌 14%,这家 IT 独角兽正在被抛弃!
  • 电脑记事本在哪里?电脑桌面显示记事本要怎么设置?
  • 微服务笔记---Nacos集群搭建
  • python 小案例
  • 【SpringBoot】SpringBoot JPA 基础操作(CURD)
  • 大数据技术之Hive3
  • Spring Boot实践二
  • python:基于GeoPandas和GeoViews库将GEDI激光高程数据映射到交互式地图
  • 汇编实现strcpy
  • Appium+python自动化(二十四) - 元素等待(超详解)
  • NFT市场泡沫破裂了吗?投资NFT是否仍然安全?