JQuery:在input中只能输入数字,并且不能复制粘贴,不能切换输入法
CODE(text in IE6,IE9, Mac,Google Crome):
$(function(){
$("#<%=txtItem.ClientID %>").keydown(function(e){
// 注意此处不要用keypress方法,否则不能禁用 Ctrl+V 与 Ctrl+V,具体原因请自行查找keyPress与keyDown区分,十分重要,请细查
if ($.browser.msie) { // 判断浏览器
if ( ((event.keyCode > 47) && (event.keyCode < 58)) || (event.keyCode == 8) ) { // 判断键值
return true;
} else {
return false;
}
} else {
if ( ((e.which > 47) && (e.which < 58)) || (e.which == 8) || (event.keyCode == 17) ) {
return true;
} else {
return false;
}
}}).focus(function() {
this.style.imeMode='disabled'; // 禁用输入法,禁止输入中文字符
});
});
// 备注:
// imeMode有四种形式,分别是:
// active 代表输入法为中文
// inactive 代表输入法为英文
// auto 代表打开输入法 (默认)
// disable 代表关闭输入法
同事收藏的做法:
1.正则表达式限制Float:(^[0-9]([.][0-9]{1,2})?$)|(^1[0-9]([.][0-9]{1,2})?$)|(^2[0-3]([.][0-9]{1,2})?$)|(^24([.]0{1,2})?$)
2.限制输入
function KeyPress(objTR) {//只允许录入数据字符 0-9 和小数点
//var objTR = element.document.activeElement;
var txtval = objTR.value;
var key = event.keyCode;
if ((key < 48 || key > 57) && key != 46) {
event.keyCode = 0;
alert("只能输入数字");
}
else {
if (key == 46) {
if (txtval.indexOf(".") != -1 || txtval.length == 0)
event.keyCode = 0;
}
}
}
3.禁止切换输入法
Style: "ime-mode: disabled"