<script language=javascript>
function JHshText()
{
if ( !(((window.event.keyCode >= 65) && (window.event.keyCode <= 90)) 
|| (window.event.keyCode == 13) || (window.event.keyCode == 46) 
|| (window.event.keyCode == 45)))
{
event.returnValue=false ;
}}
</script>
<INPUT TYPE="text" NAME="text1" onkeydown="JHshText();">

解决方案 »

  1.   

    注意还有其他事件
    <script language=javascript>
    function JHshText()
    {
    if ( !(((window.event.keyCode >= 65) && (window.event.keyCode <= 90)) 
    || (window.event.keyCode == 13) || (window.event.keyCode == 46) 
    || (window.event.keyCode == 45)))
    {
    event.returnValue=false ;
    }}
    </script>
    <INPUT TYPE="text" NAME="text1" onkeydown="JHshText();" onpaste="return false" ondragenter="return false" style="ime-mode:disabled">
      

  2.   

    谢谢楼上的帮我解答,但是还有一个问题,我还要能输入(、)、,这一些字符,但是这样好象也只能输入字母,(、)、,是不能输入的,我是按照上面改了一下,如
    <script language=javascript>
    function JHshText()
    {
    if ( !(((window.event.keyCode >= 65) && (window.event.keyCode <= 90)) 
    || (window.event.keyCode == 13) || (window.event.keyCode == 41)|| (window.event.keyCode == 40)|| (window.event.keyCode == 44)))
    {
    event.returnValue=false ;
    }}
    </script>
    <INPUT TYPE="text" NAME="text1" onkeydown="JHshText();" onpaste="return false" ondragenter="return false" style="ime-mode:disabled">
      

  3.   

    把你想要输入的keyCode都加进去,例如,号是188
    如果东西太多,最好还是用正则表达式判断吧。
    如上的代码连退格键都没有,写错了要重写的,这个keyCode是8