js 过滤非法字符,只输入数字,文本框长度限制

<!DOCTYPE html>
<html>
<head>
    <title>动画编辑页面EZ602230847CN</title>
    <script src="AnimationResource/jsDevelop/jquery-2.0.3.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $("body").on("keyup", ".pValidLength,.pValidPositiveFloat,.pValidForbidSpecialCharacter", function (eve) {
                var target = $(eve.target);
                //                alert(length);
                if (target.hasClass("pValidLength")) {
                    var length = parseInt(target.attr("plength"));
                    if (!length) {
                        alert("缺少plength属性");
                        return false
                    }
                    //除了字母,数字,   其他按键不计算在内
                    if (eve.keyCode < 48 || ((57 < eve.keyCode) && (eve.keyCode < 65)))
                        return;
                    if (((90 < eve.keyCode) && (eve.keyCode < 96)))
                        return;
                    if (((105 < eve.keyCode) && ((eve.keyCode != 110) && (eve.keyCode != 190) && (eve.keyCode != 229))))
                        return;

                    if ($.trim(target.val()).length > (length - 1)) {
                        //                        alert("输入字符超过范围");
                        target.val($.trim(target.val()).substring(0, length));
                    }
                }

                if (target.hasClass("pValidPositiveFloat")) {
                    //                    console.log(/^\d+[.]?\d*/.exec($(target).val()));
                    $(target).val(/^\d+[.]?\d*/.exec($(target).val()));
                }
                if (target.hasClass("pValidForbidSpecialCharacter")) {
                    var pattern = new RegExp("[`~!@#$^&*()=-_|{}':;',\\[\\].<>/?~!@#¥……&*()&;|{}【】‘;:”“'。,、?]");

                    $(target).val($(target).val().replace(pattern, ''));
                }
            });

            //            $(".pValidLength").blur(function () {
            //                alert('sdf');
            //            });

            $("[type=button]").click(function (event) {
                switch (event.target.attributes.value.value) {
                    case "增加1输入框":
                        $("body").append('文本长度:<input type="text" class="pValidLength" />');
                        break;

                    case "增加2输入框":
                        $("body").append('只能输入正数:<input type="text" class="pValidPositiveFloat" />');
                        break;

                    case "增加3输入框":
                        $("body").append('特殊字符禁止输入<input type="text" class="pValidForbidSpecialCharacter" />');
                        break;
                }
            });
        });
    </script>
</head>
<body>
    文本长度:<input type="text" class="pValidLength" plength="7" />
    只能输入正数:<input type="text" class="pValidPositiveFloat pValidLength" plength="5" />
    特殊字符禁止输入
    <input type="text" class="pValidForbidSpecialCharacter" />
    <input type="button" value="增加1输入框" />
    <input type="button" value="增加2输入框" />
    <input type="button" value="增加3输入框" />
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值