js input 数字输入的一些控制,小数位数

﹏ヽ暗。殇╰゛Y 2022-03-12 13:48 720阅读 0赞

JS input 数字输入的一些控制,小数位数;
1、只能为数字
2、只能有一个小数点
3、小数点后最多两位
4、没有小数点,数首位不能为类似于 01、02
5、没有小数点,则位数只能最多6位整数

  • HTML代码:

    1. <input maxlength="9" class="input_text" value="${xx}" onkeypress="keyPress(this)" onkeyup="keyUp(this)" onblur="onBlur(this)"/><span class="errorMsg"></span>
  • JS代码:

    1. function keyUp(ob) {
    2. if (!ob.value.match(/^[\+]?\d*?\.?\d*?$/)){
    3. ob.value = ob.value.replace(/\.{2,}/g,".");//一个小数点
    4. ob.value = ob.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
    5. ob.value = ob.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');//小数点后两位
    6. if(ob.value.indexOf(".")< 0 && ob.value !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
    7. ob.value= parseFloat(ob.value);
    8. if(ob.value.length > 6) { //如果输入长度等于6,则截取输入}
    9. ob.value = ob.value.slice(0,6)
    10. }
    11. }
    12. ob.value = ob.t_value;
    13. }
    14. else {
    15. ob.value = ob.value.replace(/\.{2,}/g,".");
    16. ob.value = ob.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
    17. ob.value = ob.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');
    18. if(ob.value.indexOf(".")< 0 && ob.value !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
    19. ob.value= parseFloat(ob.value);
    20. if(ob.value.length > 6) { //如果输入长度等于6}
    21. ob.value = ob.value.slice(0,6)
    22. }
    23. }
    24. ob.t_value = ob.value;
    25. }
    26. if (ob.value.match(/^(?:[\+]?\d+(?:\.\d+)?)?$/)) {
    27. ob.value = ob.value.replace(/\.{2,}/g,".");
    28. ob.value = ob.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
    29. ob.value = ob.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');
    30. if(ob.value.indexOf(".")< 0 && ob.value !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
    31. ob.value= parseFloat(ob.value);
    32. if(ob.value.length > 6) { //如果输入长度等于6}
    33. ob.value = ob.value.slice(0,6)
    34. }
    35. }
    36. ob.o_value = ob.value;
    37. }
    38. }

发表评论

表情:
评论列表 (有 0 条评论,720人围观)

还没有评论,来说两句吧...

相关阅读