如何用js或则jquery过滤特殊字符

// 正则格式验证(匿名函数) 
var utils = function(){ 
var nReg = /^[\d|\.|,]+$/; 
var iReg = /\D+/; 
var tReg = /\d{3}-\d{8}|\d{4}-\d{7}/; 
var dReg = /^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}$/; 
var eReg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; 
var mReg = /(^0{0,1}1[3|4|5|6|7|8|9][0-9]{9}$)/; 
var zReg=/^[1-9][0-9]{5}$/; 
var sReg = /^[\u0391-\uFFE5A-Za-z0-9-\s]+$/; //不能输入特殊字符(可含-和空格) 
return { 
trim : function(str){ return str.replace(/^\s*|\s*$/g, ''); }, 
isNumber : function(val){ return nReg.test(val); }, 
isInt : function(val){ return !iReg.test(val); }, 
isEmail : function(mail){ return eReg.test(mail); }, 
isMobile : function(mail){ return mReg.test(mail); }, 
isTel : function(tel){ return tReg.test(tel); }, 
isZipCode : function(zipcode){ return zReg.test(zipcode); }, 
isTime : function(time){ return dReg.test(time); }, 
isEmpty: function(obj){if(obj != null && obj != "" && typeof(obj) != "undefined"){return false;}else{return true;}}, 
getStrLength: function (str) {  
    var cArr = str.match(/[^\x00-\xff]/ig);  
    return str.length + (cArr == null ? 0 : cArr.length);  
}, 
containSpecial : function(val){ return sReg.test(val); } 
}; 

}();


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; 
}

4. jquery 判断值是否是url地址
function checkUrl(url) {  
    var strReg = "/((http|ftp|https|file):\/\/([\w\-]+\.)+[\w\-]+(\/[\w\u4e00-\u9fa5\-\.\/?\@\%\!\&=\+\~\:\#\;\,]*)?)/ig";  
    var re = new RegExp(strReg);  
    if(!re.test(url)) {  
        return false;  
    } else {  
        return true;  
    }  
}  





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值