特殊字符屏蔽问题,高手进!!

friendlyFour 2004-12-22 09:52:34
象这样的特殊字符 ! @ # $ % ^ & * ( ) _ + | < > ? : " ; ' 等等,不能录入。
要求:
1.不可以用Replace。
2.可以输入汉字,26个英文字母(包括大小写),数字。
3.用键盘监听,让特殊字符不能录入。

符合要求的另开贴100分相赠。
...全文
249 点赞 收藏 7
写回复
7 条回复
friendlyFour 2004年12月22日
我怎么得到键盘输入键值的asc码啊
回复 点赞
friendlyFour 2004年12月22日
如有高手请速回帖,午饭后截贴。
回复 点赞
friendlyFour 2004年12月22日
to:zhaoxiaoyang(梅雪香)
这个方法到不是不行,在我的印象中,可以用键盘监听来解决这个问题,就是我不知道怎么写。
非常感谢你zhaoxiaoyang(梅雪香),如没有别的好办法,也只能这样了。
回复 点赞
JK_10000 2004年12月22日
控制onkey..后,也得同时控制:复制到,拖入
超看不顺眼
回复 点赞
梅雪香 2004年12月22日
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;
}
回复 点赞
JK_10000 2004年12月22日
Sorry.回答错误
回复 点赞
JK_10000 2004年12月22日
为什么不能输入这些字符??


-------------------
某些字符,如果按原样输出,会打乱页面的代码,导致失真或报错
所以,输出时需要进行处理。

如果是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,"<","<");
res_str=strReplace(str,">","&rt;");
res_str=strReplace(str,"\"",""");
res_str=strReplace(str,"'","'");
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,"<","<");
res_str=strReplace(str,">","&rt;");
res_str=strReplace(str,"\"",""");
res_str=strReplace(str,"'","'");
res_str=strReplace(str," "," ");
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,"&","&");
res_str=strReplace(res_str,"<","<");
res_str=strReplace(res_str,">",">");
res_str=strReplace(res_str,"\"", """);
res_str=strReplace(res_str,"\'", "´");
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;
}

}
回复 点赞
发动态
发帖子
JavaScript
创建于2007-09-28

5.1w+

社区成员

22.3w+

社区内容

Web 开发 JavaScript
社区公告
暂无公告