IE的HTML:
ime-mode:disabled限制不能输入文字,只有IE有效。
//ime-mode:disabled限制不能输入文字,只有IE有效。
<input style="ime-mode:disabled" onkeypress="fncNum();return true;" />
IE的JS :只能输入数字,并且按回车时转换成Tab。
keyCode48~57:数字,keyCode13:回车,keycode9:Tab。
//IE只能输入数字,并且按回车时转换成Tab。keyCode48~57:数字,keyCode13:回车,keycode9:Tab。
function fncNum() {
if ((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 13) {
event.returnValue = false;
} else if (event.keyCode == 13) {
event.keyCode = 9;
}
}
//IE只能输入数字和负数,并且按回车时转换成Tab。
function fncMinusNum(obj) {
if ((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 13) {
if (event.keyCode != 45) {
event.returnValue = false;
}
} else if (event.keyCode == 13) {
event.keyCode = 9;
}
}
//IE只能输入数字和字母,并且按回车时转换成Tab。
function fncAlphabetNum(obj) {
if (event.keyCode != 13 && !((event.keyCode >= 48 && event.keyCode <= 57) ||
((event.keyCode >= 65 && event.keyCode <= 90) || (event.keyCode >= 97 && event.keyCode <= 122)))) {
event.returnValue = false;
} else if (event.keyCode == 13) {
event.keyCode = 9;
}
}
//IE只能输入数字和「.」,并且按回车时转换成Tab。
function fncDecimalScale(obj) {
if ((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 13 && event.keyCode !=46) {
event.returnValue = false;
} else if (event.keyCode == 13) {
event.keyCode = 9;
}
}
//IE只能输入数字和「/」,并且按回车时转换成Tab。
function fncDate(obj) {
if ((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 13 && event.keyCode != 47) {
event.returnValue = false;
} else if (event.keyCode == 13) {
event.keyCode = 9;
}
}
因为ime-mode:disabled只对IE有效所以在Edge里需要追加onkeyup方法。
//onkeyup方法(只能输入数字)。
<input style="ime-mode:disabled" onkeyup="this.value=this.value.replace(/\D/g,'')" onkeypress="fncNum();return true;" />
//onkeyup方法(只能输入数字和字母)。
<input style="ime-mode:disabled" onkeyup="this.value=this.value.replace(/[^0-9,a-z,A-Z]/g,'')" onkeypress="fncNum();return true;" />
//onkeyup方法(只能输入数字和「-」负号)。
<input style="ime-mode:disabled" onkeyup="this.value=this.value.replace(/[^0-9,-]/g,'')" onkeypress="fncNum();return true;" />
//onkeyup方法(只能输入数字和「/」负号)。
<input style="ime-mode:disabled" onkeyup="this.value=this.value.replace(/[^0-9,/]/g,'')" onkeypress="fncNum();return true;" />
//onkeyup方法(只能输入数字和「.」负号)。
<input style="ime-mode:disabled" onkeyup="this.value=this.value.replace(/[^0-9,.]/g,'')" onkeypress="fncNum();return true;" />
keycode补充:
document.onkeydown里:
IE和Edge:keycode48~57:字母上面数字键盘。keycode96~105:右侧数字键盘。
IE和Edge:keycode65~90:小写字母和大写字母。
IE和Edge:keycode109,189:负数里的「-」。
IE和Edge:keycode110,190:小数里的「.」。
IE和Edge:keycode111,191:日期里的「/」。
input的onkeypress里:
IE和Edge:keycode48~57:字母上面数字键盘和右侧数字键盘。
IE和Edge:keycode97~122:小写字母。keycode65~90:大写字母。
IE和Edge:keycode45:负数里的「-」。
IE和Edge:keycode46:小数里的「.」。
IE和Edge:keycode47:日期里的「/」。
如果资源学习了,可以点赞支持!
|