js判断先判断是不是是数字或者小数,只能精确到小数点后两位,如果不是就提示,要求重新填写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js判断先判断是不是是数字或者小数,只能精确到小数点后两位,如果不是就提示,要求重新填写相关的知识,希望对你有一定的参考价值。

js判断先判断是否是数字或者小数,只能精确到小数点后两位,如果不是就提示,要求重新填写
直接弄个例子

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Page</title>
    <script src="http://code.jquery.com/jquery-1.11.1.min.js" type="text/javascript"></script>
</head>
<body>
<input id="txt_num" type="text" />
<input id="btn_submit" type="button" value="提交" />
<script type="text/javascript">
$(function () 
    $("#btn_submit").click(function()
        var num = $("#txt_num").val();
        if(!isNaN(num))
            var dot = num.indexOf(".");
            if(dot != -1)
                var dotCnt = num.substring(dot+1,num.length);
                if(dotCnt.length > 2)
                    alert("小数位已超过2位!");
                
            
        else
            alert("数字不合法!");
        
    );
);
</script>
</body>
</html>

 这个应该能实现楼主的需求~!

参考技术A <!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">
        window.onload = function()
            var box = document.querySelector("input[type=text]");
            var button = document.querySelector("input[type=button]");
            button.onclick = function()
                var v = box.value;
                if(v)
                         v = parseFloat(v);
                         alert(Math.round(v*100)/100);
                else
                    alert("请填写数字");
                
            
        
    </script>
</head>
<body>
    <input type="text" autofocus />
    <input type="button" value="提交" />
</body>
</html>

js怎么判断一个数字是几位小数

首先你需要知道split 这个属性,然后通过获取需要判定的数字并且分割得到一个数组,然后即可判断是多少位小数,注意你的内容只能有一个小数点,如果多了需要进行判断。
代码如下:
html <div id="aabbcc">12.321456</div>

js
var _id = document.getElementById("aabbcc").innerHTML;
var _iid = _id.split(".")
console.log(_iid[1].length)
参考技术A 第一种,利用math.round
var original=28.453
1) //round "original" to two decimals
var result=Math.round(original*100)/100; //returns 28.45
2) // round "original" to 1 decimal
var result=Math.round(original*10)/10; //returns 28.5

第二种,js1.5以上可以利用toFixed(x) ,可指定数字截取小数点后 x位
3) //round "original" to two decimals
var result=original.toFixed(2); //returns 28.45
4) // round "original" to 1 decimal
var result=original.toFixed(1); //returns 28.5

以上两种方法最通用,但却无法满足某些特殊要求,比如保留小数点后两位,如果不满两位,不满两位则补零。
参考技术B 获得这个数字然后转换成String类型,通过split(".")的方式获得数组a 然后alert(a[1].length)就可以弹出小数的个数 参考技术C var num = 1.22222;

alert(String(num).length - String(num).indexOf('.') - 1);
参考技术D 用正则表达式,或是写一个函数判断

以上是关于js判断先判断是不是是数字或者小数,只能精确到小数点后两位,如果不是就提示,要求重新填写的主要内容,如果未能解决你的问题,请参考以下文章

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

js怎么判断一个数字是几位小数

js判断只能输入数字或小数点

如何判断一个字符串是不是是数字包括小数

js判断是不是为小数

JS怎么判断数字里面是不是有小数点