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;
            }
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值