2014-09-17 2 views
0

이 JavaScript 기능에 대한 도움이 필요합니다.자바 스크립트 및 키 코드, 텍스트 상자의 특수 문자 방지

내 텍스트 상자에 일부 특수 문자가 표시되지 않도록하려고합니다.

Aspx.vb 코드 : 영문 페이지에

txtDes_OP.Attributes.Add("onKeyPress", "return IsAlphaNumeric(event);") 

코드 :

<script type="text/javascript"> 

     var specialKeys = new Array(); 
     specialKeys.push(8); //Backspace 
     specialKeys.push(9); //Tab 
     specialKeys.push(46); //Delete 
     specialKeys.push(36); //Home 
     specialKeys.push(35); //End 
     specialKeys.push(37); //Left 
     specialKeys.push(39); //Right 
     specialKeys.push(32); //Space 

     function IsAlphaNumeric(e) { 

      var keyCode = e.keyCode == 0 ? e.charCode : e.keyCode; 

      alert(e.charCode); 

      var ret = ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (specialKeys.indexOf(e.keyCode) != -1 && e.charCode != e.keyCode)); 

      return ret; 

     } 

</script> 

이 자바 스크립트 기능이 작동하지만, 스페이스 키에서 KeyCode로 코드 번호 (32)를 인식하지 못합니다. 이제는 텍스트 상자에 공백으로 구분 된 두 단어를 쓰는 것은 불가능합니다.

이 웹 페이지에 따르면 : http://www.javascriptkeycode.com/ 숫자 32는 스페이스 키의 키 코드입니다.

이 코드에 어떤 문제가 있습니까?

답변

0

안녕하세요이 코드 자바 스크립트

<script language="javascript" type="text/javascript"> 
    function alphaNumeric(e) { 
     tecla = (document.all) ? e.keyCode : e.which; 
     if (tecla == 8) return true; 
     patron = /[a-zA-Z0-9]/ 
     te = String.fromCharCode(tecla); 
     return patron.test(te); 
    } 
</script> 
+1

'언어 = "자바 스크립트"를 시도'이 1999 년 무엇인가? – zzzzBov

관련 문제