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"

 

 

posted @ 2011-10-27 16:11  纯粹的郭子  阅读(20758)  评论(0编辑  收藏  举报