jq-文本框只能输入数字

 <input type="text" onKeyUp="value=value.replace(/\D/g,'')"  /> 

 onKeyUp: 当输入值的键盘抬起时触发。value表示此输入框的值,/\D/g为正则表达式,用来匹配所有非数字字符;

此句功能为:将输入值为非数字的字符替换为空;

--------------------上面的做法已过时,两年后再看到这篇文章,又重新想了下这个问题。完善了代码2018-06-22---------------------

//selector为选择器名称,如 "input[name=userid]"
function SetNum(selector) {
        $(selector).keydown(function (event) {
            console.info(event.keyCode);
            if (event.keyCode === 46 ||
                event.keyCode === 8 ||
                event.keyCode === 37 ||
                event.keyCode === 39 ||
                (event.keyCode >= 48 && event.keyCode <= 57) ||
                (event.keyCode >= 96 && event.keyCode <= 105)) {
            }
            else if (event.keyCode > 111) {

            } else {
                event.preventDefault();
            }
        });
       //保留之前的,以为输入法输入不能中断,这时的KeyCode=229
        $(selector).keyup(function (event) {
            this.value = this.value.replace(/[^\d]/g, '');
        });
    }

 

posted @ 2015-10-30 12:09  胡正  阅读(842)  评论(2编辑  收藏  举报