js控制input控件只能输入数字

//js控制input控件只能输入数字   
         function OnlyinputNumber(e, obj, withFraction) {
             if (!e) {
                 e = window.event;
             }
             if (e.which) {
                 key = e.which;
             } else {
                 key = e.keyCode;
             }
             validNumber = false;
             if (key == 8 //Backspace
                 || key == 46 //Delete
                 || key >= 35 && key <= 37 //End, Home, Left
                 || key == 39 //Right
                 || key == 189 //负号“-”
                 ) {
                 validNumber = true;
             }
             if (!e.shiftKey) {
                 //only check shift is not pressed
                 if (withFraction
                     && obj.value.length > 0
                     && key == 190 //period
                     && obj.value.indexOf(".") == -1) {
                     validNumber = true;
                 }
                 if (key == 48 && obj.value.length > 0) { // 0
                     validNumber = true;
                 }
                 if (key >= 49 && key <= 57) { // 1~9
                     validNumber = true;
                 }
             }
             if (!validNumber) {
                 if (e.preventDefault) {
                     e.preventDefault();
                 } else {
                     e.returnValue = false;
                 }
             }
         }

posted @ 2012-02-12 16:12  半日闲  阅读(728)  评论(0编辑  收藏  举报