Javascript 启用ctrl+;c和ctrl+;功能中的v按钮

Javascript 启用ctrl+;c和ctrl+;功能中的v按钮,javascript,Javascript,我想添加代码,在函数中启用ctrl+c和ctrl+v,数字被启用,字母被禁用。此功能在文本框中使用,在文本框中启用ctrl+c和ctrl+v,但不启用字母。我尝试了各种各样的事情,但都没有成功。我应该在代码中修改什么以使其启用,这方面有什么帮助吗 function item_checkInput(object, e, len, nr) { var keycode, date, retval, value, newvalue, sel; if (window.event) {

我想添加代码,在函数中启用ctrl+c和ctrl+v,数字被启用,字母被禁用。此功能在文本框中使用,在文本框中启用ctrl+c和ctrl+v,但不启用字母。我尝试了各种各样的事情,但都没有成功。我应该在代码中修改什么以使其启用,这方面有什么帮助吗

function item_checkInput(object, e, len, nr) {
    var keycode, date, retval, value, newvalue, sel;
    if (window.event) {
        keycode = window.event.keyCode;
        range = window.event.RangeOffset;
    }
    else if (e.which != 0) {
        keycode = e.which;
        range = e.rangeOffset;
    }
    else {
        keycode = e.keyCode;
        range = e.rangeOffset;
    }
    date = new Date();
    value = object.value.replace(/\./g, "");
    if ( (keycode >= 48 && keycode <= 57) && e.rangeOffset != undefined )
        newvalue = value.substr(0,e.target.selectionStart) + String.fromCharCode(keycode) + value.substr(e.target.selectionEnd);
    else if ( (keycode >= 48 && keycode <= 57) && document.selection )
    {
        document.selection.createRange().text = String.fromCharCode(keycode);
        newvalue = object.value;
        object.value = value;
    }
    else
        newvalue = value;

    if (!NotallNumbers(e)) {
        return false;
    }
    if ( (keycode == 9) ) //tab (9)
    {
        if (newvalue.length == 13 && newvalue.substr(0, 7) == "10000") {
            newvalue = newvalue.substr(7);
        }
        if (newvalue.length == 6) {
            retval = check_itemnr(newvalue, nr);
            if (retval == false) {
                object.value = newvalue;
                focusEnSelect(object, true);
            }
            object.value = newvalue;
        }
        return false;
    }
    else if ( (keycode == 8) || (keycode == 46) || (keycode >= 35 && keycode <= 40) )

        return true;
    else if ( (keycode >= 48 && keycode <= 57) && ((date.getTime() - itemnr_keypress) > interval_scan) ) {

        if (newvalue.length == 13 && newvalue.substr(0,7) == "10000")
            newvalue = newvalue.substr(7);
        if ( (newvalue.length == len) ) {
            retval = artnr_checknr_art(newvalue, nr);
            if (retval == false) {
                   object.value = newvalue;
                   focusEnSelect(object, true);
            } else {
                object.value = newvalue;
                return false;
            }
            return retval;
        }
        itemnr_keypress = date.getTime();
        return true;
    }
    else if ( (keycode >= 48 && keycode <= 57) && (newvalue.length == 6) && (newvalue != "10000") ) {

        itemnr_keypress = date.getTime();

        retval = check_itemnr(newvalue, nr);
        if (retval == false) {
            object.value = newvalue;
            focusEnSelect(object, true);
        }
        return retval;
    }
    else if ( (keycode >= 48 && keycode <= 57) && (newvalue.length == 13) ) {

        itemnr_keypress = date.getTime();
        if (value.substr(0, 7) == "10000") {


            object.value = newvalue.substr(7);
            retval = check_itemnr(newvalue.substr(7), nr);
            if (retval == false) {
                focusEnSelect(object, true);
            }
            return false;
        }
        else {

            object.value = "";
            return false;
        }
        return true;
    }
    else if (keycode >= 48 && keycode <= 57) {
        itemnr_keypress = date.getTime();
        return true;
    }
    else if (keycode == 106) {
        retval = check_itemnr(newvalue, nr);
        if (retval == false) {
               object.value = newvalue;
               focusEnSelect(object, true);
        }
        return false;
    } else if (keycode == 13) {
        if (newvalue.length == 13 && newvalue.substr(0, 7) == "10000") {
            newvalue = newvalue.substr(7);
        }
        if (newvalue.length == 6) {
            retval = check_itemnr(newvalue, nr);
            if (retval == false) {
                object.value = newvalue;
                focusEnSelect(object, true);
            }
            object.value = newvalue;
        }
        return false;
    } else if (newvalue.length > 13) {
        return false;
    }

    return false;
}
功能项\u检查输入(对象、e、len、nr){
var键码、日期、返回值、值、新值、选择值;
if(window.event){
keycode=window.event.keycode;
范围=window.event.RangeOffset;
}
如果(例如,哪个!=0){
keycode=e.which;
范围=e.rangeOffset;
}
否则{
keycode=e.keycode;
范围=e.rangeOffset;
}
日期=新日期();
value=object.value.replace(/\./g,“”);
如果((键码>=48&&keycode=48&&keycode=35&&keycode=48&&keycode interval\u scan)){
如果(newvalue.length==13&&newvalue.substr(0,7)=“10000”)
newvalue=newvalue.substr(7);
如果((newvalue.length==len)){
retval=artnr\u checknr\u art(newvalue,nr);
如果(retval==false){
object.value=newvalue;
焦点选择(对象,真);
}否则{
object.value=newvalue;
返回false;
}
返回返回;
}
itemnr_keypress=date.getTime();
返回true;
}
否则如果((键码>=48&&keycode=48&&keycode=48&&keycode=13){
返回false;
}
返回false;
}

更好的主意:在
keyup
事件或
blur
事件或任何在输入字段更改后触发的事件上附加一个事件侦听器,并简单地从字段内容中删除所有非数字。尝试截取所有可能的键盘输入是徒劳的,同时不会破坏其他人的可用性。我尝试过要在中使用它,它是.btl文件的一部分。我使用了keyup事件侦听器。但仍然无法启用这些键