網(wǎng)頁(yè)前臺(tái)通過(guò)js非法字符過(guò)濾代碼(罵人的話等等)
更新時(shí)間:2010年05月26日 21:44:50 作者:
項(xiàng)目中如果需要過(guò)濾非法字符(你不想用戶輸入的任何字符)的話在前臺(tái)可以使用js過(guò)濾,同樣可以提高用戶體驗(yàn),以前都是后臺(tái)過(guò)濾,這樣雙重過(guò)濾用戶體驗(yàn)更好。
代碼一:keypress事件時(shí)使用
/****************************************************/
//功能:過(guò)濾非法字符
//說(shuō)明:keypress事件時(shí)使用
//作者:XXXXXXX
//日期:2010年5月7日
/****************************************************/
function surnam_keypress(event) {
//非法字符集
var codes = '<>/@#%';
//事件
var e = event || window.event
//打印字符碼
var code = e.charCode || e.keyCode;
//功能按鍵時(shí)直接返回
if (e.charCode == 0) return true;
//ctr和alt直接返回
if (e.ctrlKey || e.altKey) return true;
//ASCII字符
if (code < 32) return true;
//字符碼轉(zhuǎn)為字符
var c = String.fromCharCode(code);
//如果有非法字符則不打印
if (codes.indexOf(c) != -1) {
return false;
}
else {
return true;
}
}
代碼二onchage(主要是用戶粘貼時(shí)處理用),keyup事件時(shí)
/****************************************************/
//功能:過(guò)濾非法字符
//說(shuō)明:onchange、keyup事件時(shí)使用
//作者:XXXXX
//日期:2010年5月7日
/****************************************************/
function surnam_keyup(text) {
//控件值
var textvalue = text.value;
//非法字符集
var codes = '<>/@#%';
//非法字符數(shù)組
var codearray = codes.split('');
//循環(huán)替換非法字符
for (i = 0; i < codearray.length; i++) {
while (textvalue.indexOf(codearray[i]) != -1) {
textvalue = textvalue.replace(codearray[i], '');
}
}
//重新給控件賦值
text.value = textvalue;
}
使用實(shí)例:
/// <summary>
/// 給控件添加字符過(guò)濾js
/// </summary>
/// <param name="text"></param>
public void CharIllegalFilting(System.Web.UI.WebControls.TextBox text)
{
//控件內(nèi)容改變
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)
{
//添加非法字符過(guò)濾
CharIllegalFilting(epNametext);
}
復(fù)制代碼 代碼如下:
/****************************************************/
//功能:過(guò)濾非法字符
//說(shuō)明:keypress事件時(shí)使用
//作者:XXXXXXX
//日期:2010年5月7日
/****************************************************/
function surnam_keypress(event) {
//非法字符集
var codes = '<>/@#%';
//事件
var e = event || window.event
//打印字符碼
var code = e.charCode || e.keyCode;
//功能按鍵時(shí)直接返回
if (e.charCode == 0) return true;
//ctr和alt直接返回
if (e.ctrlKey || e.altKey) return true;
//ASCII字符
if (code < 32) return true;
//字符碼轉(zhuǎn)為字符
var c = String.fromCharCode(code);
//如果有非法字符則不打印
if (codes.indexOf(c) != -1) {
return false;
}
else {
return true;
}
}
代碼二onchage(主要是用戶粘貼時(shí)處理用),keyup事件時(shí)
復(fù)制代碼 代碼如下:
/****************************************************/
//功能:過(guò)濾非法字符
//說(shuō)明:onchange、keyup事件時(shí)使用
//作者:XXXXX
//日期:2010年5月7日
/****************************************************/
function surnam_keyup(text) {
//控件值
var textvalue = text.value;
//非法字符集
var codes = '<>/@#%';
//非法字符數(shù)組
var codearray = codes.split('');
//循環(huán)替換非法字符
for (i = 0; i < codearray.length; i++) {
while (textvalue.indexOf(codearray[i]) != -1) {
textvalue = textvalue.replace(codearray[i], '');
}
}
//重新給控件賦值
text.value = textvalue;
}
使用實(shí)例:
復(fù)制代碼 代碼如下:
/// <summary>
/// 給控件添加字符過(guò)濾js
/// </summary>
/// <param name="text"></param>
public void CharIllegalFilting(System.Web.UI.WebControls.TextBox text)
{
//控件內(nèi)容改變
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)
{
//添加非法字符過(guò)濾
CharIllegalFilting(epNametext);
}
相關(guān)文章
用JavaScript做一個(gè)簡(jiǎn)易計(jì)算器的三種方法舉例
這篇文章主要給大家介紹了關(guān)于用JavaScript做一個(gè)簡(jiǎn)易計(jì)算器的三種方法,JS中實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)算器并不困難,我們只需利用基本的數(shù)學(xué)運(yùn)算符和JavaScript的語(yǔ)法即可,需要的朋友可以參考下2023-10-10
詳解JavaScript如何實(shí)現(xiàn)四種常用排序
這篇文章主要為大家介紹了如何利用JavaScript實(shí)現(xiàn)四個(gè)常用的排序:插入排序、交換排序、選擇排序和歸并排序,文中利用動(dòng)圖詳細(xì)介紹了實(shí)現(xiàn)過(guò)程,需要的可以參考一下2022-02-02
JavaScript時(shí)間戳與時(shí)間日期間相互轉(zhuǎn)換
今天做項(xiàng)目遇到這樣的問(wèn)題,要將獲取到的時(shí)間轉(zhuǎn)換為時(shí)間戳,通過(guò)查閱相關(guān)資料,問(wèn)題順利解決,下面小編把具體實(shí)現(xiàn)代碼分享到腳本之家平臺(tái),需要的朋友參考下2017-12-12
JS設(shè)計(jì)模式之狀態(tài)模式的用法使用方法
JavaScript狀態(tài)模式是一種行為型設(shè)計(jì)模式,核心是對(duì)象在其內(nèi)部狀態(tài)改變時(shí)改變其行為,狀態(tài)模式將對(duì)象的行為封裝到不同的狀態(tài)類中,使得對(duì)象在不同狀態(tài)下可以選擇不同的行為,本文給大家詳細(xì)的介紹一下狀態(tài)設(shè)計(jì)模式在Js中的使用,需要的朋友可以參考下2023-08-08
WebGIS開發(fā)中不同坐標(biāo)系坐標(biāo)轉(zhuǎn)換問(wèn)題解決基本步驟
這篇文章主要介紹了如何在JavaScript中使用proj4庫(kù)進(jìn)行坐標(biāo)系轉(zhuǎn)換的基本步驟,包括安裝、示例、自定義坐標(biāo)系定義、擴(kuò)展以及一些常見EPSG代碼對(duì)照表,需要的朋友可以參考下2025-01-01
Javascript防止圖片拉伸的自適應(yīng)處理方法
這篇文章主要給大家介紹了關(guān)于利用Javascript防止圖片拉伸的自適應(yīng)處理方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12
用JavaScript實(shí)現(xiàn)用一個(gè)DIV來(lái)包裝文本元素節(jié)點(diǎn)
當(dāng)我試圖將文本(可能也包含HTML元素)用一個(gè)DIV元素包起來(lái)時(shí),可以使用下面的方法,需要的朋友可以參考下2014-09-09

