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

echoright晓戈 2011-11-21

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

2010-09-16 17:15:53 来自: 兔兔

地址:http://www.douban.com/group/topic/14116644/

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

functionstripscript(s)

{

varpattern=newRegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()&mdash;—|{}【】‘;:”“'。,、?]")

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;

}

相关推荐