文本框只能输入特定内容如文本框只能输入数字

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>

<body>
<script type="text/javascript">

function getEvent() {
    if (document.all) {
        return window.event;
    }
    func = getEvent.caller;
    while (func != null) {
        var arg0 = func.arguments[0];
        if (arg0) {
            if ((arg0.constructor == Event || arg0.constructor == MouseEvent) || (typeof (arg0) == "object" && arg0.preventDefault && arg0.stopPropagation)) {
                return arg0;
            }
        }
        func = func.caller;
    }
    return null;
}
function doit(){
    var ev = getEvent();
    var bool = query(ev.keyCode);
    if (bool) {
    	return false;
    }
}
function query(_val) {
    var allow = monitor.number_a + "," + monitor.number_b + "," + monitor.backspace;
    var rs = allow.split(",");
    for (var i = 0; i < rs.length; i++) {
        var val = Number(rs[i]);
        if (_val == val) {
            return false;
        }
    }
    return true;
}

var monitor = {
	string:"81,87,69,82,84,89,85,73,79,80,65,83,68,70,71,72,74,75,76,90,88,67,86,66,78,77",
	number_a:"48,49,50,51,52,53,54,55,56,57",
	number_b:"96,97,98,99,100,101,102,103,104,105,",
	backspace:"8",/*退格*/
	spot:"190,110"/*点如(.)*/
} 
</script>
<input type="text" id="txt" οnkeydοwn="return doit()">
</body>
</html>


以上尚未完善


/**
 * [digitOnly 文本框限制只能输入数字]
 * @param  {[type]} a [event]
 * οnkeypress="digitOnly(event)" οnkeyup="value=value.replace(/[^0-9]/g,'')" οnchange="value=value.replace(/[^0-9]/g,'')"
 */
function digitOnly(a) {
    48 <= a.keyCode && 57 >= a.keyCode || 45 == a.keyCode || (a.returnValue = !1)
}

过滤内容,可兼容



var ban = {
    input: function (options) {
        var settings = jQuery.extend({
            this: null,
            allow: keyboard.getMonitor.number_a + "," + keyboard.getMonitor.number_b + "," + keyboard.getMonitor.backspace,
        }, options);
        options = settings;

        var ev = keyboard.getEvent();
        console.log(ev.keyCode)
        var bool = bool_result(ev.keyCode);
        if (bool) {
            return false;
        }

        function bool_result(_val) {
            var allow = settings.allow;
            var rs = allow.split(",");
            for (var i = 0; i < rs.length; i++) {
                var val = Number(rs[i]);
                if (_val == val) {
                    return false;
                }
            }
            return true;
        }
    }
}

var keyboard = {
    getEvent: function () {
        if (document.all) {
            return window.event;
        }
        func = getEvent.caller;
        while (func != null) {
            var arg0 = func.arguments[0];
            if (arg0) {
                if ((arg0.constructor == Event || arg0.constructor == MouseEvent) || (typeof (arg0) == "object" && arg0.preventDefault && arg0.stopPropagation)) {
                    return arg0;
                }
            }
            func = func.caller;
        }
        return null;
    },
    getMonitor: {
        string: "81,87,69,82,84,89,85,73,79,80,65,83,68,70,71,72,74,75,76,90,88,67,86,66,78,77",
        number_a: "48,49,50,51,52,53,54,55,56,57",
        number_b: "96,97,98,99,100,101,102,103,104,105,",
        backspace: "8",/*退格*/
        spot: "190,110"/*点如(.)*/
    }
}

function baninput() {
    $("input[data-tyle='number']").bind('keyup', function () {
        var val = $(this).val();
        $(this).val(val.replace(/[^0-9]/g, ''));
    }).change(function () {
        var val = $(this).val();
        $(this).val(val.replace(/[^0-9]/g, ''));
    });

    var ev = getEvent();
    var bool = bool_result(ev.keyCode);
    if (bool) {
        return false;
    }

    function bool_result(_val) {
        var allow = "48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105,8";
        var rs = allow.split(",");
        for (var i = 0; i < rs.length; i++) {
            var val = Number(rs[i]);
            if (_val == val) {
                return false;
            }
        }
        return true;
    }

    function getEvent() {
        if (document.all) {
            return window.event;
        }
        func = getEvent.caller;
        while (func != null) {
            var arg0 = func.arguments[0];
            if (arg0) {
                if ((arg0.constructor == Event || arg0.constructor == MouseEvent) || (typeof (arg0) == "object" && arg0.preventDefault && arg0.stopPropagation)) {
                    return arg0;
                }
            }
            func = func.caller;
        }
        return null;
    }
}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值