您的位置:首页 > Web前端 > JavaScript

网页前台通过js非法字符过滤代码(骂人的话等等)

2010-05-26 00:00 561 查看
代码一:keypress事件时使用
/****************************************************/ 
//功能:过滤非法字符 
//说明:keypress事件时使用 
//作者:XXXXXXX 
//日期:2010年5月7日 
/****************************************************/ 
function surnam_keypress(event) { 
//非法字符集 
var codes = '<>/@#%'; 
//事件 
var e = event || window.event 
//打印字符码 
var code = e.charCode || e.keyCode; 
//功能按键时直接返回 
if (e.charCode == 0) return true; 
//ctr和alt直接返回 
if (e.ctrlKey || e.altKey) return true; 
//ASCII字符 
if (code < 32) return true; 
//字符码转为字符 
var c = String.fromCharCode(code); 
//如果有非法字符则不打印 
if (codes.indexOf(c) != -1) { 
return false; 
} 
else { 
return true; 
} 
}

代码二onchage(主要是用户粘贴时处理用),keyup事件时
/****************************************************/ 
//功能:过滤非法字符 
//说明:onchange、keyup事件时使用 
//作者:XXXXX 
//日期:2010年5月7日 
/****************************************************/ 
function surnam_keyup(text) { 
//控件值 
var textvalue = text.value; 
//非法字符集 
var codes = '<>/@#%'; 
//非法字符数组 
var codearray = codes.split(''); 
//循环替换非法字符 
for (i = 0; i < codearray.length; i++) { 
while (textvalue.indexOf(codearray[i]) != -1) { 
textvalue = textvalue.replace(codearray[i], ''); 
} 
} 
//重新给控件赋值 
text.value = textvalue; 
}

使用实例:
/// <summary> 
/// 给控件添加字符过滤js 
/// </summary> 
/// <param name="text"></param> 
public void CharIllegalFilting(System.Web.UI.WebControls.TextBox text) 
{ 
//控件内容改变 
text.Attributes["onchange"] = "surnam_keyup(this);"; 
//键盘弹出事件 
text.Attributes["onkeyup"] = "surnam_keyup(this);"; 
//键盘按下事件 
text.Attributes["onkeypress"] = "return surnam_keypress();"; 
} 
protected void Page_Load(object sender, EventArgs e) 
{ 
//添加非法字符过滤 
CharIllegalFilting(epNametext); 
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: