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

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

符合要求的另开贴100分相赠。
...全文
416 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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;
}

}

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧