js过滤特殊字符输入(可过滤输入,粘贴,拖拽多种情况)

function TextValidate(type) {
        var code;
        var character;
        var Lang = document.getElementById('Lang').value;
        var err_msg = "";
        if (Lang != "Eng") {
            err_msg = "文件夹名稱不能包含下列字符之一:\n \\ / : * ? \" < > | & , ";
        }
        else {
            err_msg = "A Folder Name cannot contain any of the following characters:\n \\ / : * ? \" < > | & ,";
        }

        if (type == "input") {
            code = window.event.keyCode;
        }
        else if (type == "paste") {
            code = window.clipboardData.getData('Text');

        }
        else if (type == "Drop") {
            code = window.event.dataTransfer.getData('Text');

        }
        else {
            code = arguments.callee.caller.arguments[0].which;
        }
        var character = String.fromCharCode(code);
        var txt = new RegExp("[\\*,\\&,\\\\,\\/,\\?,\\|,\\:,\\<,\\>,\"]");
        if (type == "input") {
            if (txt.test(character)) {
                alert(err_msg);
                if (document.all) {
                    window.event.returnValue = false;
                }
                else {
                    arguments.callee.caller.arguments[0].preventDefault();
                }
            }
        }
        if (type == "paste" || type == "Drop") {
            if (txt.test(code)) {
                alert(err_msg);
                window.event.returnValue = false;
            }
        }
    }

你可能感兴趣的:(js)