<!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;
}
}