iOS 限制输入框只能输入小数并且小数点后只能一位

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 限制输入框只能输入小数并且小数点后只能一位相关的知识,希望对你有一定的参考价值。

参考技术A 首先说一下我们想要的效果

这个输入框的要求是只能输入 负号 小数 这里我们还要保证“-”一定要只能是第一位而且只能输入一个负号,还有就是“.”小数点的限制,首先要说小数点不能是第一位,并且不能有多个点

1 主要限制还是依赖于 UITextField 的delegate

textField 这个参数没什么好说的 肯定是当前光标所在的输入框, range 这个参数就是当前光标所在的位置 NSRange是一个结构体

后面那个 string 参数就是键盘内这词输入进入的内容

这样我们就可以在这个代理里面做我们想要的拦截

输入框只能输入正数且保留小数后2位数字,正则

开发过程中input框中输入做限制,一般正则都是百度一下,但是找了很多也没满意的,为了体验感,直接输入的数字不符合要求的直接变空,如:

要求输入一个正数且保留2位小数,不能00开头,或不能出现多个点

可以写代码验证匹配,但最方便的还是自己直接写一个replace,替换掉不符合要求的,体验感也好,代码写法简单方便,oninput="value=value.replace(/[^0-9]+(.?)+([0-9]{3})$|[^0-9]+(..?)$|00/,‘‘)"

    <el-input
                v-if="search.itemSort === ‘批次件‘"
                v-model="scope.row.cancellation"
                size="mini"
                clearable
                style="width: 100%"
                placeholder="请输入"
                maxlength="10"
                oninput="value=value.replace(/[^0-9]+(.?)+([0-9]{3})$|[^0-9]+(..?)$|00/,‘‘)"
                @change="changeCancellation(scope.$index)"
              />

以上是关于iOS 限制输入框只能输入小数并且小数点后只能一位的主要内容,如果未能解决你的问题,请参考以下文章

js判断文本框输入的是不是数字,若是小数,小数点后只能有一位数字

input输入框只能输入正数和小数(保留小数点后两位)

C#文本框的文本,正则表达式约束,正整数和小数点后只有一位小数

正则表达式验证文本框只能输入数字和小数点

输入框小数位限制

怎么让输入框只能输入数字和小数点?