欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js 控制文本框中特殊字符的输入

程序员文章站 2022-06-04 07:57:48
...
<script>
   function validateSpecialCharacter(){
      var code; 
      if (document.all) { //判断是否是IE浏览器
       code = window.event.keyCode; 
      } else { 
       code = arguments.callee.caller.arguments[0].which; 
      } 
      var character = String.fromCharCode(code);
      var txt=new RegExp("[ ,\\`,\\~,\\!,\\@,\#,\\$,\\%,\\^,\\+,\\*,\\&,\\\\,\\/,\\?,\\|,\\:,\\.,\\<,\\>,\\{,\\},\\(,\\),\\'',\\;,\\=,\"]"); 
      //特殊字符正则表达式 
      if (txt.test(character)) {
       if (document.all) { 
        window.event.returnValue = false; 
       } else { 
        arguments.callee.caller.arguments[0].preventDefault(); 
       } 
      }
   }
         function clearSpecialCharacter(obj){
          var str = obj.value;
    var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*();—|{}【】‘;:”“'。,、?]");
    var result = "";
    for (var i = 0; i < str.length; i++) { 
     result = result + str.substr(i, 1).replace(pattern, ''); 
    } 
    obj.value = result;
    return; 
   }
   // 验证中文字符和特殊字符 
   function chineseVaildate(value){
      if (value == null || value=="")
    return true;
     if ((/[\u4E00-\u9FA5]+/.test(value))){
    return false;
      }
      return true;
   }   
   function validate(obj){
      if (!chineseVaildate(obj.value)){
    alert("有中文字符");
      }
   }   
   </script>
   不允许输入特殊字符:<input type='text' name= 'txt' onkeypress="return validateSpecialCharacter();" onblur="clearSpecialCharacter(this);" /><br/>
   不允许输入空格:<input id="dd" type='text' onkeyup="value=value.replace(/\s/g,'')"/><br/>
   不允许输入中文:<input id="ss" type='text' onblur="validate(this);"/><br/>