利用 keyCode 控制数字输入框

来源:互联网 发布:淘宝客的计划描述咋写 编辑:程序博客网 时间:2024/06/05 18:25
下面这段代码,可以控制用户只能输入数字、小数点、负号,且数字第一位不可为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>