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

 更新时间:2010年05月26日 21:44:50   作者:  
项目中如果需要过滤非法字符(你不想用户输入的任何字符)的话在前台可以使用js过滤,同样可以提高用户体验,以前都是后台过滤,这样双重过滤用户体验更好。
代码一: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);
}

相关文章

  • 用JavaScript做一个简易计算器的三种方法举例

    用JavaScript做一个简易计算器的三种方法举例

    这篇文章主要给大家介绍了关于用JavaScript做一个简易计算器的三种方法,JS中实现一个简单的计算器并不困难,我们只需利用基本的数学运算符和JavaScript的语法即可,需要的朋友可以参考下
    2023-10-10
  • 详解JavaScript如何实现四种常用排序

    详解JavaScript如何实现四种常用排序

    这篇文章主要为大家介绍了如何利用JavaScript实现四个常用的排序:插入排序、交换排序、选择排序和归并排序,文中利用动图详细介绍了实现过程,需要的可以参考一下
    2022-02-02
  • JS前端中WebSocket的使用方法举例

    JS前端中WebSocket的使用方法举例

    websocket是H5才开始提供的一种在单个TCP连接上进行全双工通讯的协议,下面这篇文章主要给大家介绍了关于JS前端中WebSocket使用的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • JavaScript时间戳与时间日期间相互转换

    JavaScript时间戳与时间日期间相互转换

    今天做项目遇到这样的问题,要将获取到的时间转换为时间戳,通过查阅相关资料,问题顺利解决,下面小编把具体实现代码分享到脚本之家平台,需要的朋友参考下
    2017-12-12
  • JS设计模式之状态模式的用法使用方法

    JS设计模式之状态模式的用法使用方法

    JavaScript状态模式是一种行为型设计模式,核心是对象在其内部状态改变时改变其行为,状态模式将对象的行为封装到不同的状态类中,使得对象在不同状态下可以选择不同的行为,本文给大家详细的介绍一下状态设计模式在Js中的使用,需要的朋友可以参考下
    2023-08-08
  • WebGIS开发中不同坐标系坐标转换问题解决基本步骤

    WebGIS开发中不同坐标系坐标转换问题解决基本步骤

    这篇文章主要介绍了如何在JavaScript中使用proj4库进行坐标系转换的基本步骤,包括安装、示例、自定义坐标系定义、扩展以及一些常见EPSG代码对照表,需要的朋友可以参考下
    2025-01-01
  • Javascript防止图片拉伸的自适应处理方法

    Javascript防止图片拉伸的自适应处理方法

    这篇文章主要给大家介绍了关于利用Javascript防止图片拉伸的自适应处理方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-12-12
  • 用JavaScript实现用一个DIV来包装文本元素节点

    用JavaScript实现用一个DIV来包装文本元素节点

    当我试图将文本(可能也包含HTML元素)用一个DIV元素包起来时,可以使用下面的方法,需要的朋友可以参考下
    2014-09-09
  • 小程序开发基础之view视图容器

    小程序开发基础之view视图容器

    这篇文章主要介绍了小程序开发基础之view视图容器,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • 使用Bootstrap打造特色进度条效果

    使用Bootstrap打造特色进度条效果

    这篇文章给大家分享了基于bootstrap打造的特色进度条效果,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-05-05

最新评论