js正则不包含某些特殊字符(正则表达式不允许特殊字符)
js中用正则表达式 过滤特殊字符 校验所有输入域是否含有特殊符号
由于特殊字符较多,建议使用白名单进行限制。即,允许输入哪些字符。
var?pp?=?/[^0-9a-zA-Z_]/g;?//如,仅允许英文字母,数字和下划线。此正则匹配非英文字母,数字和下划线。
var?b?=??pp.test("lsafie*sjdf");?//test函数返回匹配结果。若有非英文字母,数字和下划线,返回true。
alert(b);
js 正则过滤特殊字符?
您好
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;iforbid_array.length;i++){
if(temp_str.search(new?RegExp(forbid_array[i]))?!=?-1)
return?false;
}
return?true;
}
---------------------
作者:dongsir 董先生
来源:董先生的博客
原文链接:js检查是否含有非法字符
版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。转载时请标注:
javascript里不能含有非法字符的正则表达式如何写?
/[@#\$%\^\*]+/g 这个是包含以上任意一个特殊字符的。
你可以测试一下:
alert(/[@#\$%\^\*]+/g.test("你的字符串"))
如果返回是true,那么说明含有非法字符,用!反一下,就行了,如:
alert(!/[@#\$%\^\*]+/g.test("你的字符串"))
js 正则验证不能含有中文与特殊字符
varmyReg = /^[a-zA-Z0-9_]{0,}$/;
if(!myReg.test(input.val())) {
??$.validation.tip(false, input, "用户名不能含有中文或特殊字符");
??return;
}
js通过正则表达式限制input输入框只能输入英文字母和数字,不能输入中文。
input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')"
文本框中仅允许输入英文字母,小数点,数字,禁止输入中文字符以及其他特殊字符!
input?type="text"?name="username"?onkeyup="value=value.replace(/[^\w\.\/]/ig,'')"?/
输入大于0的正整数
input onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
正则表达式在线生成工具:
var temp = 'abcdefg Fw:123456 Fw:789.1011';
temp =temp.indexOf(‘.’); //匹配某个字符位置
alert(temp);??var temp = 'dsd-5555'
temp =temp.replace('-',''); //匹配某个字符必替换
alert(temp);