收藏
回答

输入框限制输入小数点后两位小数

问题模块
API和组件

如输入12.25   小数点俩位后就不可在输入

最后一次编辑于  2017-11-23  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

5 个回答

  • 南山隐者
    南山隐者
    2017-11-23
    var value = e.detail.value
        console.log(value)
        var dot = value.indexOf('.')
        if(dot > -1){
          if(value.length > (dot+3)){
            console.log("禁止输入")
          }
        }

    这样吗?

    2017-11-23
    赞同
    回复
  • 一步一步
    一步一步
    2017-11-24

    谢谢了,那如何让他在界面上显示输入俩位后就禁止输了

    2017-11-24
    赞同
    回复
  • 南山隐者
    南山隐者
    2017-11-24

    input 中 disabled 设置为 false?

    2017-11-24
    赞同
    回复
  • 一步一步
    一步一步
    2017-11-24

    是这样的,我这个输入框,可以多次输入,不能有多个点,不能以点开头,输入俩位后就不能输入了,最多就可以点后边俩位,然后可以多次输入,给input设disabled ,让他不可用就点不了啊

    2017-11-24
    赞同
    回复
  • 李敏
    李敏
    04-16

    解题思路:

    1,有一个属性,可以控制输入框的输入长度:maxlength; 2,把关注点放到输入完小数点后的第二位,而不是第三位。


    解决方案:

    a, 判断是否有小数点;

    b,小数点后是不是已经出现了两位小数,就是比较字符串的长度和indexOf(".")+3是不是相等;

    c, 如果相等,设置该输入框的maxlength为字符串的长度。

    tips:记得要实时恢复manlength。


    其实这个解决方案最主要就是依靠动态控制maxlength的值,来实现不能继续输入的效果。

    不能继续输入,但是input又没有失焦,也没有disabled掉。


    04-16
    赞同
    回复