收藏
回答

input怎么输入一个小数点后只能输入两位小数并且用户只能输入一次小数点

求解

回答关注问题邀请回答
收藏

3 个回答

  • 灵芝
    灵芝
    2018-08-22

    你好,可以尝试使用正则

    2018-08-22
    有用 2
    回复
  • 小七&熊大
    小七&熊大
    2019-04-16

    解题思路:

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


    解决方案:

    a, 判断是否有小数点;

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

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

    tips:记得要实时恢复manlength。


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

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



    至于楼主说的,只能输入一次小数点,我还没研究。。

    2019-04-16
    有用 1
    回复 2
    • 柠檬不萌ら
      柠檬不萌ら
      2019-09-26

      我也是使用你这样的方法做的,但是在手机端输入的时候有时会有点延时,出现第三位小数再消失,你遇到这种情况了吗

      2019-09-26
      回复
    • 阿北
      阿北
      2020-10-15
      这样做安卓可以,ios会出现还是第一次的情况
      2020-10-15
      回复
  • kim
    kim
    2018-08-22

    我试试

    2018-08-22
    有用
    回复
登录 后发表内容