您好
js检查是否含有非法字符,js 正则过滤特殊字符
//正则
function trimTxt(txt){
return txt.replace(/(^\s*)|(\s*$)/g, "");
}
/**
* 检查是否含有非法字符
* @param temp_str
* @returns {Boolean}
*/
function is_forbid(temp_str){
temp_str=trimTxt(temp_str);
temp_str = temp_str.replace('*',"@");
temp_str = temp_str.replace('--',"@");
temp_str = temp_str.replace('/',"@");
temp_str = temp_str.replace('+',"@");
temp_str = temp_str.replace('\'',"@");
temp_str = temp_str.replace('\\',"@");
temp_str = temp_str.replace('$',"@");
temp_str = temp_str.replace('^',"@");
temp_str = temp_str.replace('.',"@");
temp_str = temp_str.replace(';',"@");
temp_str = temp_str.replace('<',"@");
temp_str = temp_str.replace('>',"@");
temp_str = temp_str.replace('"',"@");
temp_str = temp_str.replace('=',"@");
temp_str = temp_str.replace('{',"@");
temp_str = temp_str.replace('}',"@");
var forbid_str=new String('@,%,~,&');
var forbid_array=new Array();
forbid_array=forbid_str.split(',');
for(i=0;iif(temp_str.search(new RegExp(forbid_array[i])) != -1)
return false;
}
return true;
}
---------------------
作者:dongsir 董先生
来源:董先生的博客
原文链接:js检查是否含有非法字符
版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。转载时请标注:http://dongsir.cn/p/195
string1="这是。一,个,包$!含#特殊、字符的字^&/*符串可以\使用正$则表达式[]去除其{中的特}殊字|符"
结果: "这是。一,个,包$!含#特殊、字符的字^&/*符串可以使用正$则表达式[]去除其{中的特}殊字|符"
string1.replace(/\^|\.|\*|\?|\!|\/|\\|\$|\#|\&|\||,|\[|\]|\{|\}|\(|\)|\-|\+|\=/g," ");
结果: "这是。一,个,包 含 特殊、字符的字 符串可以使用正 则表达式 去除其 中的特 殊字 符"
就是正则写的有问题啊。
function illegalChar(str)
{
var pattern=/[`~!@#\$%\^\&\*\(\)_\+<>\?:"\{\},\.\\\/;'\[\]]/im;
if(pattern.test(str)){
return false;
}
return true;
}
alert(illegalChar("123?"));
应该就这样啊
给你 个参考 :(其中param参数为你要过滤的字符)
function illegalChar(str,param)
{
var reg = "[`~!@#\$%\^&\*\(\)_\+<>\?:\"{},\.\/;'\[\\]]";
if(param){
reg = reg.replace(param,'');
}
var pattern=new RegExp(reg,'im');
if(pattern.test(str)){
return false;
}
return true;
}