[转]js中过滤特殊字符的正则表达式

js中用正则表达式 过滤特殊字符 ,校验所有输入域是否含有特殊符号

function stripscript(s)
{
var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()&mdash;—|{}【】‘;:”“'。,、?]")
var rs = "";
for (var i = 0; i < s.length; i++) {
rs = rs+s.substr(i, 1).replace(pattern, '');
}
return rs;
}

校验所有输入域是否含有特殊符号

/**
* 校验所有输入域是否含有特殊符号
* 所要过滤的符号写入正则表达式中,注意,一些符号要用'\'转义.
* 试例:
* if(checkAllTextValid(document.forms[0]))
* alert("表单中所有文本框通过校验!");
*/
function checkAllTextValid(form)
{
//记录不含引号的文本框数量
var resultTag = 0;
//记录所有text文本框数量
var flag = 0;
for(var i = 0; i < form.elements.length; i ++)
{
if(form.elements[i].type=="text")
{
flag = flag + 1;
//此处填写所要过滤的特殊符号
//注意:修改####处的字符,其它部分不许修改.
//if(/^[^####]*$/.test(form.elements[i].value))

if(/^[^\|"'<>]*$/.test(form.elements[i].value))
resultTag = resultTag+1;
else
form.elements[i].select();
}
}

/**
* 如果含引号的文本框等于全部文本框的值,则校验通过
*/
if(resultTag == flag)
return true;
else
{
alert("文本框中不能含有\n\n 1 单引号: ' \n 2 双引号: \" \n 3 竖 杠: | \n 4 尖角号: < > \n\n请检查输入!");
return false;
}
}

原文网址:http://www.douban.com/group/topic/14116644/

相关推荐