如何用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正则匹配过滤

function stripscript(s) 
 
    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过滤特殊字符的主要内容,如果未能解决你的问题,请参考以下文章

如何用sql向数据库中插入包含特殊字符的字

如果源字符串包含特殊字符,如何用其他字符串替换字符串[重复]

如何使用 jQuery DataTables 插件过滤带有特殊字符的结果?

DOS命令的特殊字符如何用

js过滤特殊字符

如何用tcl脚本替换字符串中的特殊字符?