为什么不能输入这些字符??
-------------------
某些字符,如果按原样输出,会打乱页面的代码,导致失真或报错
所以,输出时需要进行处理。如果是jsp,按以下方式输出:
<%=CommStr.htmlEncoder(yourString)%>
--------------
/*
 * Created by Seamus
 * Updated on 2004-10-21 by JK
 *
 */
package com.jk.util;public class  CommStr
{
  /**
  *replace the old string to new string in the given destination string.
  */
  public static java.lang.String strReplace(java.lang.String destStr, java.lang.String oldStr, java.lang.String newStr)
  {
    if(destStr==null)
      return "";
    String tmpStr = destStr;
    int foundPos = tmpStr.indexOf(oldStr);
    while (foundPos>=0)
    {
      tmpStr = tmpStr.substring(0,foundPos) + newStr + tmpStr.substring(foundPos + oldStr.length(),tmpStr.length());
      foundPos = tmpStr.indexOf(oldStr,foundPos+newStr.length());
    }
    return tmpStr;
  }  /**
  *Encode for HTML.
  */
  public static String htmlEncoder(String str)
  {
    if(str==null || str.equals(""))
      return "";
    String res_str;
    res_str=strReplace(str,"<","&lt;");
    res_str=strReplace(str,">","&rt;");
    res_str=strReplace(str,"\"","&quot;");
    res_str=strReplace(str,"'","&#039;");
    return res_str;
  }  /**
  *Encode for HTML-Text.
  */
  public static String htmlTextEncoder(String str)
  {
    if(str==null || str.equals(""))
      return "";
    String res_str;
    res_str=strReplace(str,"<","&lt;");
    res_str=strReplace(str,">","&rt;");
    res_str=strReplace(str,"\"","&quot;");
    res_str=strReplace(str,"'","&#039;");
    res_str=strReplace(str," ","&nbsp;");
    res_str=strReplace(str,"\r\n","<br/>");
    res_str=strReplace(str,"\r","<br/>");
    res_str=strReplace(str,"\n","<br/>");
    return res_str;
  }  /**
  *Encode for URL.
  */
  public static String urlEncoder(String str) {
    return java.net.URLEncoder.encode(str) ;
  }  /**
  *Encode for XML.
  */
  public static String xmlEncoder(String str)
  {
    if(str==null || str.equals(""))
      return "";
    String res_str;
    res_str=strReplace(str,"&","&amp;");
    res_str=strReplace(res_str,"<","&lt;");
    res_str=strReplace(res_str,">","&gt;");
    res_str=strReplace(res_str,"\"", "&quot;");
    res_str=strReplace(res_str,"\'", "&acute;");
    return res_str;
  }  /**
  *Encode for SQL.
  */
  public static String sqlEncoder(String str)
  {
    if(str==null || str.equals(""))
      return "";
    String res_str;
    res_str=strReplace(str,"'","''");
    return res_str;
  }  /**
  *Encode for Javascript.
  */
  public static String jsEncoder(String str)
  {
    if(str==null || str.equals(""))
      return "";
    String res_str;
    res_str=strReplace(str,"'","\\'");
    res_str=strReplace(str,"\"","\\\"");
    res_str=strReplace(str,"\r\n","\\\n");
    res_str=strReplace(str,"\n","\\\n");
    res_str=strReplace(str,"\r","\\\n");
    return res_str;
  }}

解决方案 »

  1.   

    function keyPressInt(){
       var e=window.event;
       code=e.keyCode;
       switch(code){
          //23:# 其它自己加,要屏蔽哪些自己都加上
          case 23:
          case aa:
          case bb:
             window.event.returnValue=false;
             return false;
          default:return true;
    }
      

  2.   

    控制onkey..后,也得同时控制:复制到,拖入
    超看不顺眼
      

  3.   

    to:zhaoxiaoyang(梅雪香)
    这个方法到不是不行,在我的印象中,可以用键盘监听来解决这个问题,就是我不知道怎么写。
    非常感谢你zhaoxiaoyang(梅雪香),如没有别的好办法,也只能这样了。
      

  4.   

    我怎么得到键盘输入键值的asc码啊