一个输入框    如何禁止别人从外部粘贴汉字和特殊字符,
也就是  当别人往输入框粘贴汉字和字符的时候   输入框将什么也不显示。
谢谢

解决方案 »

  1.   


    <script type="text/javascript">
    function check(obj){
        if(/^\w+$/.test(obj.value))return true;
        return false;
    }
    </script>
    <input type="text" id="txt" onpaste="return check(this)" />
      

  2.   

    楼上的不能屏蔽鼠标右键的粘贴!
    处理粘贴板!//数字的验证
    function valNum(ev)
    {
        var e = ev.keyCode;
        //允许的有大、小键盘的数字,左右键,backspace, delete, Control + C, Control + V
        if(e != 48 && e != 49 && e != 50 && e != 51 && e != 52 && e != 53 && e != 54 && e != 55 && e != 56 && e != 57 && e != 96 && e != 97 && e != 98 && e != 99 && e != 100 && e != 101 && e != 102 && e != 103 && e != 104 && e != 105 && e != 37 && e != 39 && e != 13 && e != 8 && e != 46 && e != 9)
        {
            if(ev.ctrlKey == false)
            {
                //不允许的就清空!
                ev.returnValue = "";
            }
            else
            {
                //验证剪贴板里的内容是否为数字!
                valClip(ev);
            }
        }
    }
    //验证剪贴板里的内容是否为数字!
    function valClip(ev)
    {
        //查看剪贴板的内容!
        var content = clipboardData.getData("Text");
        if(content != null)
        {
            try
            {
                var test = parseInt(content);
                var str = "" + test;
                if(isNaN(test) == true)
                {
                    //如果不是数字将内容清空!
                    clipboardData.setData("Text","");
                }
                else
                {
                    if(str != content)
                        clipboardData.setData("Text", str);
                }
            }
            catch(e)
            {
                //清空出现错误的提示!
                alert("粘贴出现错误!");
            }
        }
    }
      

  3.   

    還是控制剪切板比較好哦,可以控制不能在這個輸入框中粘貼不合要求的字串,但這些字串可以粘貼在別的地方
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>未命名頁面</title>    <script type="text/javascript">
        function RejectPaste()
        {
            var reg = /^[a-z0-9A-Z]*$/;//在這裡添加你可以粘貼的字符
            var paste = window.clipboardData.getData('text');
            
            if (!reg.test(paste))
            {
                document.getElementById('hdnPaste').value = paste;
                window.clipboardData.setData('text', '');
            }
        }
        
        function ReturnPaste()
        {
            window.clipboardData.setData('text', document.getElementById('hdnPaste').value);
        }
        
        function ChangePaste()
        {
            paste = window.clipboardData.getData('text');
            
            if (paste != '')
            {
                document.getElementById('hdnPaste').value = window.clipboardData.getData('text');
            }
        }
    </script>
        
    </head>
    <body>
        <form id="form1">
            <input type="text" id="txt" onfocus="RejectPaste()" onblur="ReturnPaste()" onpaste="ChangePaste()" />
            <input type="hidden" id="hdnPaste" />
        </form>
    </body>
    </html>
      

  4.   

    上面說的不夠詳細,補上:)<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>未命名頁面</title>
        
        <script type="text/javascript">
        function RejectPaste()
        {
            var reg = /^[a-z0-9A-Z]*$/;//在這裡添加你可以粘貼的字符
            var paste = window.clipboardData.getData('text');
            
            //如果不符合要求就清空剪切板,並把剪切板內容保存在隱藏域中,以便離開該輸入框時恢復
            if (!reg.test(paste))
            {
                document.getElementById('hdnPaste').value = paste;
                window.clipboardData.setData('text', '');
            }
        }
        
        //離開輸入框時,恢復剪切板內容為最後一次剪切或複製的內容,以便在其他地方粘貼該字串
        function ReturnPaste()
        {
            window.clipboardData.setData('text', document.getElementById('hdnPaste').value);
        }
        
        //用該輸入框中的內容來粘貼時不做判斷
        function ChangePaste()
        {
            paste = window.clipboardData.getData('text');
            
            if (paste != '')
            {
                document.getElementById('hdnPaste').value = window.clipboardData.getData('text');
            }
        }
    </script>
        
    </head>
    <body>
        <form id="form1">
            <input type="text" id="txt" onfocus="RejectPaste()" onblur="ReturnPaste()" onpaste="ChangePaste()" />
            <input type="hidden" id="hdnPaste" />
        </form>
    </body>
    </html>
      

  5.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>未命名頁面</title>    <script type="text/javascript">
        function RejectPaste()
        {
            var reg = /^[a-z0-9A-Z]*$/;//在這裡添加你可以粘貼的字符
            var paste = window.clipboardData.getData('text');
            
            //如果不符合要求就清空剪切板,並把剪切板內容保存在隱藏域中,以便離開該輸入框時恢復
            if (!reg.test(paste))
            {
                document.getElementById('hdnPaste').value = paste;
                window.clipboardData.setData('text', '');
            }
        }
        
        //離開輸入框時,恢復剪切板內容為最後一次剪切或複製的內容,以便在其他地方粘貼該字串
        function ReturnPaste()
        {
            window.clipboardData.setData('text', document.getElementById('hdnPaste').value);
        }
        
        //用該輸入框中的內容來粘貼時不做判斷
        function ChangePaste()
        {
            paste = window.clipboardData.getData('text');
            
            if (paste != '')
            {
                document.getElementById('hdnPaste').value = window.clipboardData.getData('text');
            }
        }
        
        function CheckDrop()
        {
            event.returnValue = false;
        }
        
    </script>
        
    </head>
    <body>
        <form id="form1">
            <input type="text" id="txt" onfocus="RejectPaste()" onblur="ReturnPaste()" onpaste="ChangePaste()" ondrop="CheckDrop()" />
            <input type="hidden" id="hdnPaste" />
        </form>
    </body>
    </html>
      

  6.   

    <input type="text"  onpaste="return false;" ondrop="return false;" />即可。