如何用js或则jquery过滤特殊字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用js或则jquery过滤特殊字符相关的知识,希望对你有一定的参考价值。
如何用js或则jquery过滤特殊字符
1、jQuery使用正则匹配替换特殊字符
function RegeMatch()var pattern = new RegExp("[~'!@#$%^&*()-+_=:]");
if($("#name").val() != "" && $("#name").val() != null)
if(pattern.test($("#name").val()))
alert("非法字符!");
$("#name").attr("value","");
$("#name").focus();
return false;
2、jQuery限制输入ASCII值
//数字0-9的ascii为48-57//大写A-Z的ascii为65-90
//小写a-z的ascii为97-122
// ----------------------------------------------------------------------
// <summary>
// 限制只能输入数字和字母
// </summary>
// ----------------------------------------------------------------------
$.fn.onlyNumAlpha = function ()
$(this).keypress(function (event)
var eventObj = event || e;
var keyCode = eventObj.keyCode || eventObj.which;
if ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122))
return true;
else
return false;
).focus(function ()
this.style.imeMode = 'disabled';
).bind("paste", function ()
var clipboard = window.clipboardData.getData("Text");
if (/^(\\d|[a-zA-Z])+$/.test(clipboard))
return true;
else
return false;
);
;
//-----调用方法$("#文本框id").onlyNumAlpha();
3、js正则匹配过滤
var pattern = new RegExp("[`~!@#$^&*()=|':;',\\\\[\\\\].<>/?~!@#¥……&*()——|【】‘;:”“'。,、?]")
var rs = "";
for (var i = 0; i < s.length; i++)
rs = rs+s.substr(i, 1).replace(pattern, '');
return rs;
参考技术A 使用正则表达式就可以,正则表达式有很多,这里不一一细讲 参考技术B 结合正则表达式,参考js的replace()方法!!希望对你有帮助!本回答被提问者采纳 参考技术C 学学正则表达式 参考技术D 一、验证类
1、数字验证内
1.1 整数
/^(-|\+)?\d+$/.test(str)
1.2 大于0的整数 (用于传来的ID的验证)
/^\d+$/.test(str)
1.3 负整数的验证
/^-\d+$/.test(str)
2、时间类
2.1 短时间,形如 (13:04:06)
function isTime(str)
var a = str.match(/^(\d1,2)(:)?(\d1,2)\2(\d1,2)$/);
if (a == null) alert('输入的参数不是时间格式'); return false;
if (a[1]>24 || a[3]>60 || a[4]>60)
alert("时间格式不对");
return false
return true;
2.2 短日期,形如 (2003-12-05)
function strDateTime(str)
var r = str.match(/^(\d1,4)(-|\/)(\d1,2)\2(\d1,2)$/);
if(r==null)return false;
var d= new Date(r[1], r[3]-1, r[4]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
2.3 长时间,形如 (2003-12-05 13:04:06)
function strDateTime(str)
var reg = /^(\d1,4)(-|\/)(\d1,2)\2(\d1,2) (\d1,2):(\d1,2):(\d1,2)$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
2.4 只有年和月。形如(2003-05,或者2003-5)
2.5 只有小时和分钟,形如(12:03)
3、表单类
3.1 所有的表单的值都不能为空
<input onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('不能为空!')">
3.2 多行文本框的值不能为空。
3.3 多行文本框的值不能超过sMaxStrleng
3.4 多行文本框的值不能少于sMixStrleng
3.5 判断单选框是否选择。
3.6 判断复选框是否选择.
3.7 复选框的全选,多选,全不选,反选
3.8 文件上传过程中判断文件类型
4、字符类
4.1 判断字符全部由a-Z或者是A-Z的字字母组成
<input onblur="if(/[^a-zA-Z]/g.test(this.value))alert('有错')">
4.2 判断字符由字母和数字组成。
<input onblur="if(/[^0-9a-zA-Z]/g.test(this.value))alert('有错')">
4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母
/^([a-zA-z_]1)([\w]*)$/g.test(str)
4.4 字符串替换函数.Replace();
5、浏览器类
5.1 判断浏览器的类型
window.navigator.appName
5.2 判断ie的版本
window.navigator.appVersion
5.3 判断客户端的分辨率
window.screen.height; window.screen.width;
6、结合类
6.1 email的判断。
function ismail(mail)
return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));
6.2 手机号码的验证
6.3 身份证的验证
function isIdCardNo(num)
if (isNaN(num)) alert("输入的不是数字!"); return false;
var len = num.length, re;
if (len == 15)
re = new RegExp(/^(\d6)()?(\d2)(\d2)(\d2)(\d3)$/);
else if (len == 18)
re = new RegExp(/^(\d6)()?(\d4)(\d2)(\d2)(\d3)(\d)$/);
else alert("输入的数字位数不对!"); return false;
var a = num.match(re);
if (a != null)
if (len==15)
var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
else
var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
if (!B) alert("输入的身份证号 "+ a[0] +" 里出生日期不对!"); return false;
return true;
如何用 js 去掉字符串首尾空格
关于去掉两头空格,jquery库提供了$.trim()方法,可是JS呢,我写了.trim(),在FF里有效果,但在IE里就没效了,群里的朋友说,如果浏览器实现了trim(),就有,如果浏览器没实现,只能用正则替换。function trimStr(str)return str.replace(/(^\\s*)|(\\s*$)/g,"");
用的时候就是直接
var 变量=trimStr(需要去空格的字符串) 参考技术A str.replace(/^\s+|\s+$/g,'') 参考技术B 你搜一下trim()函数就知道了
以上是关于如何用js或则jquery过滤特殊字符的主要内容,如果未能解决你的问题,请参考以下文章
如果源字符串包含特殊字符,如何用其他字符串替换字符串[重复]