寻求一个方法,解决 输入用户名是 用到的 不合法字符??

解决方案 »

  1.   

    function Filter_($str="",$arr = array("'"=>"","union"=>"","-"=>"","#"=>"","%"=>"","&"=>"","*"=>"","@"=>"","$"=>""))
    {
       $str=strtr($str,$arr);
       return  $str;
    }
    $str="Hello -- * @#$%world";
    echo Filter_($str);
      

  2.   

    js  验证啊/**  
     * 校验所有输入域是否含有特殊符号 
     * 所要过滤的符号写入正则表达式中,注意,一些符号要用'\'转义.   
     * 要转义的字符包括:1, 点号 .  
     *                   2,  中括号 []  
     *                   3,  大括号 {}   
     *                   4,  加号   +    
     *                   5,  星号   *    
     *                   6,  减号   -    
     *                   7,  斜杠   \    
     *                   8,  竖线   |     
     *                   9,  尖号   ^    
     *                   10, 钱币   $    
     *                   11, 问号   ?     
     * 试例:    
     * if(checkAllTextValid(document.forms[0]))     
     *  alert("表单中所有文本框通过校验!");     
     */     
    function checkAllTextValid(form)     
    {      
        //记录不含引号的文本框数量      
     var resultTag = 0;      
        //记录所有text文本框数量      
      var flag = 0;     
     for(var i = 0; i < form.elements.length; i ++)      
     {      
     if(form.elements[i].type=="text")      
      {     
                flagflag = flag + 1;     
       //此处填写所要过滤的特殊符号      
      //注意:修改####处的字符,其它部分不许修改.      
       //if(/^[^####]*$/.test(form.elements[i].value))      
         
      if(/^[^\|"'<>]*$/.test(form.elements[i].value))     
                   resultTagresultTag = resultTag+1;     
      else    
       form.elements[i].select();     
      }     
     }    
        
        /**    
        * 如果含引号的文本框等于全部文本框的值,则校验通过    
         */     
     if(resultTag == flag)     
      return true;     
     else     
     {     
      alert("文本框中不能含有\n\n 1 单引号: ' \n 2 双引号: \" \n 3 竖  杠: | \n 4 尖角号: < > \n\n请检查输入!");      
     return false;      
     }      
     }