js中用正则表达式 过滤特殊字符 ,校验所有输入域是否含有特殊符号
2010-09-16 17:15:53 来自: 兔兔
地址:http://www.douban.com/group/topic/14116644/
js中用正则表达式 过滤特殊字符 ,校验所有输入域是否含有特殊符号
functionstripscript(s)
{
varpattern=newRegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]")
varrs="";
for(vari=0;i<s.length;i++){
rs=rs+s.substr(i,1).replace(pattern,'');
}
returnrs;
}
校验所有输入域是否含有特殊符号
/**
*校验所有输入域是否含有特殊符号
*所要过滤的符号写入正则表达式中,注意,一些符号要用'\'转义.
*试例:
*if(checkAllTextValid(document.forms[0]))
*alert("表单中所有文本框通过校验!");
*/
functioncheckAllTextValid(form)
{
//记录不含引号的文本框数量
varresultTag=0;
//记录所有text文本框数量
varflag=0;
for(vari=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)
returntrue;
else
{
alert("文本框中不能含有\n\n1单引号:'\n2双引号:\"\n3竖杠:|\n4尖角号:<>\n\n请检查输入!");
returnfalse;
}