使用js过滤非法字符

项目中如果需要过滤非法字符(你不想用户输入的任何字符)的话

在前台可以使用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 == 0return true;
    
//ctr和alt直接返回
    if (e.ctrlKey || e.altKey) return true;
    
//ASCII字符
    if (code < 32return 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);
        }

 

 

posted on 2010-05-26 10:05  <夜风>  阅读(2889)  评论(1编辑  收藏  举报

导航