js只允许输入数字和小数点

简介: //示例代码: //只允许输入数字与.: //只允许输入数字 : //只允许输入数字与小数点 function checkKeyFo...
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>  
    <script type="text/javascript">  
        //示例代码:   
        //只允许输入数字与.:<input type="text" name="test" id="test" onkeydown="checkKeyForFloat(this.value,event)" style="ime-mode: disabled" />   
        //只允许输入数字   :<input type="text" name="test2" id="test2" onkeydown="checkKeyForNum(this.value,event)" style="ime-mode: disabled" />   
        //只允许输入数字与小数点     
        function checkKeyForFloat(value, e) {  
            var isOK = false;  
            var key = window.event ? e.keyCode : e.which;  
            if ((key > 95 && key < 106) ||                  //小键盘上的0到9   
            (key > 47 && key < 60) ||                   //大键盘上的0到9   
            (key == 110 && value.indexOf(".") < 0) ||   //小键盘上的.而且以前没有输入.   
            (key == 190 && value.indexOf(".") < 0) ||   //大键盘上的.而且以前没有输入.   
            key == 8 || key == 9 || key == 46 || key == 37 || key == 39     //不影响正常编辑键的使用(8:BackSpace;9:Tab;46:Delete;37:Left;39:Right)   
        ) {  
                isOK = true;  
            } else {  
                if (window.event) //IE     
                {  
                    e.returnValue = false;   //event.returnValue=false 效果相同.     
                }  
                else //Firefox     
                {  
                    e.preventDefault();  
                }  
            }  
            return isOK;  
        }  
  
        //只允许输入数字     
        function checkKeyForInt(value, e) {  
            var isOK = false;  
            var key = window.event ? e.keyCode : e.which;  
            if ((key > 95 && key < 106) ||                  //小键盘上的0到9   
            (key > 47 && key < 60) ||                   //大键盘上的0到9   
            key == 8 || key == 9 || key == 46 || key == 37 || key == 39     //不影响正常编辑键的使用(8:BackSpace;9:Tab;46:Delete;37:Left;39:Right)   
        ) {  
                isOK = true;  
            } else {  
                if (window.event) //IE     
                {  
                    e.returnValue = false;   //event.returnValue=false 效果相同.     
                }  
                else //Firefox     
                {  
                    e.preventDefault();  
                }  
            }  
            return isOK;  
        }  
  
        //设置有自定义属性 dtype 的文本框 允许输入的范围   
        function setDType() {  
            $(":text[dtype]").each(function () {  
                var dtype = $(this).attr("dtype");  
                var isOK = true;  
                switch (dtype) {  
                    case "number":  
                        $(this).css("ime-mode", "disabled").keydown(function (event) {  
                            isOK = checkKeyForFloat($(this).val(), event);  
                            if (!isOK) {  
                                //$(this).SuperFocus("", 500);   
                            }  
                            return isOK;  
                        });  
                        break;  
                    default:  
                        break;  
                }  
            });  
        }  
    </script>  
    <script type="text/javascript">  
        $(function () {  
            setDType();  
        });  
    </script>  
</head>  
<body>  
    年龄: <input type="text" maxlength="3" onkeydown="checkKeyForInt(this.value,event)" style="ime-mode: disabled"/><br />  
    身高:<input type="text" maxlength="5" dtype="number" />  
</body>  
</html>  


目录
相关文章
|
JavaScript 前端开发
JS浮点数精度问题及高精度小数运算:BigNumber解决方案
JS浮点数精度问题及高精度小数运算:BigNumber解决方案
2129 0
|
9月前
|
JavaScript 前端开发
js小数运算出现的问题(精度丢失)及解决办法-亲测有效
JavaScript浮点数运算存在精度丢失问题,如0.1+0.2不等于0.3。原因是十进制小数转二进制时可能出现无限循环,导致舍入误差。本文提供一种精度处理方法,通过将小数转为整数运算后再还原,实现加减乘除的精确计算,解决常见浮点运算误差问题。
1343 0
|
JavaScript
js 保留2位小数
js 保留2位小数
398 124
|
JavaScript 前端开发 Java
JavaScript小数四舍五入的代码
JavaScript小数四舍五入的代码
214 8
|
JavaScript
必知的技术知识:js保留二位小数
必知的技术知识:js保留二位小数
1278 0
|
JavaScript
js 强制保留2位小数
js 强制保留2位小数
278 0
|
JavaScript 前端开发
JavaScript随手笔记---保留小数位
JavaScript随手笔记---保留小数位
|
JavaScript
js金额补充--2位小数0demo效果(整理)
js金额补充--2位小数0demo效果(整理)
|
JavaScript
JS 刷 Leetcode:167.两数之和 II - 输入有序数组
JS 刷 Leetcode:167.两数之和 II - 输入有序数组
JS 刷 Leetcode:167.两数之和 II - 输入有序数组
|
JavaScript
JS:数学计算Math相关四舍五入、向上取整、向下取整、取余、保留小数
JS:数学计算Math相关四舍五入、向上取整、向下取整、取余、保留小数
212 0