• 利用 keyCode 控制数字输入框


    下面这段代码,可以控制用户只能输入数字、小数点、负号,且数字第一位不可为0:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>lik-input-number</title>
    </head>
    
    <body>
    <input type="text" class="lik_input_number" style="color:#ccc" value="请输入数字" onfocus="fn_focus(this);"
           onblur="fn_blur(this);">
    </body>
    
    <script src="jquery-1.8.1.min.js"></script>
    <script>
    
        // 输入框模拟placeholder
    
        function fn_focus(ele) {
            if (ele.value == ele.defaultValue) {
                ele.style = "color:#333";
                ele.value = '';
            } else {
                ele.style = "color:#333";
            }
        }
    
        function fn_blur(ele) {
            var reg = /^[s]*$/;
            if (reg.test(ele.value) || ele.value == ele.defaultValue) {
                ele.style = "color:#ccc";
                ele.value = ele.defaultValue;
            } else {
                ele.style = "color:#333";
            }
        }
    
        $(function () {
            $('.lik_input_number').live('keydown', function (e) {
                //控制第一个数字不能为0
                if ($(this).val().length > 1 && $(this).val().slice(0, 1) == 0 && $(this).val().slice(1, 2) != '.') {
                    $(this).val($(this).val().slice(1, $(this).val().length));
                }
                //控制只能输入数字、小数点、负号
                if ((e.keyCode < 48 || (e.keyCode > 57 && e.keyCode < 96) || (e.keyCode > 105 && e.keyCode < 109) || (e.keyCode > 110 && e.keyCode < 189) || e.keyCode > 190) && e.keyCode != 8) {
                    return false;
                }
            });
            $('.lik_input_number').live('keyup', function (e) {
                //控制第一个数字不能为0
                if ($(this).val().length > 1 && $(this).val().slice(0, 1) == 0 && $(this).val().slice(1, 2) != '.') {
                    $(this).val($(this).val().slice(1, $(this).val().length));
                }
                //控制只能输入数字、小数点、负号
                if ((e.keyCode < 48 || (e.keyCode > 57 && e.keyCode < 96) || (e.keyCode > 105 && e.keyCode < 109) || (e.keyCode > 110 && e.keyCode < 189) || e.keyCode > 190) && e.keyCode != 8) {
                    return false;
                }
            });
        });
    </script>
    </html>
    

      

    author:Lik
    Endeavoring to powerless, struggling to move yourself.
  • 相关阅读:
    BAPI LIST
    如何设计折叠屏幕
    图形学习 Javascript 正则 regexper.com
    Javascript 的数据是什么数据类型?
    Javascript 严格模式下不允许删除一个不允许删除的属性
    Javascript 在严格模式下禁止指向 this
    指针自增学习
    Javascript 严格模式下几个禁忌
    笔记本设置 2K 显示屏 Intel HD Graphics 3000
    Javascript 在严格模式下不允许删除变量或对象
  • 原文地址:https://www.cnblogs.com/likwin/p/7145323.html
Copyright © 2020-2023  润新知