input使用javascript限制输入带小数的数字

如题,网上找了很多都不太好实现。我的实现需求如下:

1、如果输入数字不带小数点那么自动加入两位小数,如:输入5,替换为5.00

2、输入5.,替换为5.00

3、输入5.1,替换为5.10

4、输入非数字,自动清空

Javascript代码如下:

//限制输入数字,只能输入两位
function checkNum(obj) {
    //检查是否是非数字值
    if (isNaN(obj.value)) {
        obj.value = "0.00";
        return;
    }
    if (obj != null) {
        //没有小数时自动补零
        if (obj.value.indexOf(‘.‘) == -1) {
            if (obj.value == "") {
                obj.value = "0.00";
            } else {
                obj.value += ".00";
            }
        }
        if (obj.value.toString().split(".")[1].length < 2) {
            if (obj.value.toString().split(".")[1].length == 0) {
                obj.value += "00";
            }
            if (obj.value.toString().split(".")[1].length == 1) {
                obj.value += "0";
            }
        }
        //检查小数点后是否对于两位
        if (obj.value.toString().split(".").length > 1 && obj.value.toString().split(".")[1].length > 2) {
            obj.value = obj.value.substring(0, obj.value.indexOf(‘.‘) + 3);
        }
    }
}
function checkNumForEnter(obj) {//回车事件拦截
    if (event.keyCode == 13) {
        this.checkNum(obj);
    }
}

使用方法如下:

<asp:TextBox id="txtB_MinAmount" runat="server" Width="200px" onblur="checkNum(this)" onkeypress="checkNumForEnter(this)"></asp:TextBox>

注意,需要拦截onblur,onkeypress两个事件。

时间: 2024-08-29 18:34:29

input使用javascript限制输入带小数的数字的相关文章

【前端开发】限制input输入保留两位小数

<input type="text" name='amount' id="cash_num" placeholder="请输入金额" onkeyup="num(this)" size="9"> js: //限制input输入保留两位小数 function num(obj) { // obj.value = obj.value.replace(/[^\d.]/g, ""); /

javascript如何禁止小键盘输入数字

javascript如何禁止小键盘输入数字:不知道为何要禁止小键盘输入数字,不过确实有这样的需求,不过也非常的简单,无非就是通过按键码来判断是否是按下的小键盘,下面直接看代码,代码实例如下: function isNum()//判断小键盘输入数字 { var str=(window.event.keyCode); if(str>105 || str<96 ) { if(str!=8 ) { window.event.returnValue=false; return; } } } functi

DecimalFormat格式化输出带小数的数字类型

刚开始 double d = 333333333.333333333; System.out.println(d); 输出结果为3.333333333333333E8 网上找到了DecimalFormat对象 double d = 333333333.333333333; DecimalFormat decimalFormat = new DecimalFormat("#.#"); System.out.println(decimalFormat.format(d)); 结果为3333

javascript如何将字符串转换为数字

javascript如何将字符串转换为数字:在编码中有可能用到将字符串转换为数字,尤其是在涉及数字计算的环境,下面就简单介绍一下如何进行转换.1).parseInt()函数进行转换:此函数可以解析一个字符串,并返回一个整数.代码实例如下: parseInt("12px");//返回12 parseInt("0xA");//返回10 parseInt("2.3");//返回2 parseInt("blue");//返回NaN 更

javascript学习_只能输入数字的文本框

最近在看javascript高级程序设计这本书,通过写一些demo帮助加深理解记忆. 此输入数字的文本框在用输入法输入字符的时候还有bug 1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <title></title> 5 <script type="text/javascript"> 6 va

超出JavaScript安全整数限制的数字计算-BigInt

JavaScript中的基本数据类Number是双精度浮点数,它可以表示的最大安全范围是正负9007199254740991,也就是2的53次方减一,在浏览器控制台分别输入Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER可查看对应的最大/小值 const max = Number.MAX_SAFE_INTEGER; // → 9_007_199_254_740_991 // 注意:为了便于阅读,我使用下划线作为分隔符将这些数字分组为千位数.数字文字分

0093 数字型 Number:整数、小数 、数字型进制、数字型范围、数字型三个特殊值

JavaScript 数字类型既可以保存整数,也可以保存小数(浮点数). var age = 21; // 整数 var Age = 21.3747; // 小数 数字型进制 最常见的进制有二进制.八进制.十进制.十六进制. // 1.八进制数字序列范围:0~7 var num1 = 07; // 对应十进制的7 var num2 = 019; // 对应十进制的19 var num3 = 08; // 对应十进制的8 // 2.十六进制数字序列范围:0~9以及A~F var num = 0xA

input前台javascript失效

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>index</title> 5 </head> 6 <body> 7 <form name="myform" id="myform" target="_self"> 8 帐号:<input type="text" name="u

JavaScript 中对小数取整的常用函数

常见的js截取小数的方法 1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍五入. js: Math.round(7/2) 4,向下取整 js: Math.floor(7/2) 5.Number 四舍五入为指定小数位数的数字 js : 7.23.toFixed(num) . num参数为想要截取的小数位数