常用校验js

/**
* 常用校验JS
*
* @author LJ
*
*/

//****************************************************************************************************************

/**
* input 输入框校验说明
* maxlength="11" 表示最大输入长度
* style="ime-mode:disabled;" 表示不能切换输入法
* onpaste="return false;" 表示不能粘贴
*
* <input type="text" style="ime-mode:disabled;" onpaste="return false;" maxlength="11" onkeyup="onlyIntNum(this)" />
*/

//****************************************************************************************************************



/**
* 只允许输入数字
* <input type="text"  onkeyup="onlyIntNum(this)" />
*/
function onlyIntNum(obj){   
    obj.value = obj.value.replace(/[^\d]/g,""); //先把非数字的都替换掉
};


/**
* 只允许输入数字和小数点(不包括负数)
* <input type="text"  onkeyup="onlyNum(this)" />
*/
function onlyNum(obj) {   
    obj.value = obj.value.replace(/[^\d.]/g,""); //先把非数字的都替换掉,除了数字和.
obj.value = obj.value.replace(/^\./g,""); //必须保证第一个为数字而不是.
obj.value = obj.value.replace(/\.{2,}/g,"."); //保证只有出现一个.而没有多个.
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); //保证.只出现一次,而不能出现两次以上
};

/**
* 只允许输入数字和小数点(包括负数)
* <input type="text"  onkeyup="onlyNum(this,event)" />
*/
function onlyNum(obj,event) {
//响应鼠标事件,允许左右方向键移动
event = window.event || event;
if (event.keyCode == 37 | event.keyCode == 39) {
return;
}
var t = obj.value.charAt(0);
//先把非数字的都替换掉,除了数字和.
obj.value = obj.value.replace(/[^\d.]/g, "");
//必须保证第一个为数字而不是.
obj.value = obj.value.replace(/^\./g, "");
//保证只有出现一个.而没有多个.
obj.value = obj.value.replace(/\.{2,}/g, ".");
//保证.只出现一次,而不能出现两次以上
obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
//如果第一位是负号,则允许添加  如果不允许添加负号 可以把这块注释掉
if (t == '-') {
obj.value = '-' + obj.value;
}
};


/**
* 只允许输入数字或字母
* <input type="text"  onkeyup="onlyNumOrLetter(this)" />
*/
function onlyNumOrLetter(obj) {
obj.value = obj.value.replace( /[^\w\.\/]/ig,"");
};
/**
* 只允许输入字母
* <input type="text"  onkeyup="onlyLetter(this)" />
*/
function onlyLetter(obj) {
obj.value = obj.value.replace(/[^\a-\z\A-\Z]/g,"");
};

/**
* 只能输入中文、英文、数字、小数点
* <input type="text"  onkeyup="onlyNumOrLetterOrChinese(this)" />
*/
function onlyNumOrLetterOrChinese(obj) {
obj.value = obj.value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,"");
};

/**
* 只能输入中文
* <input type="text"  onkeyup="onlyChinese(this)" />
*/
function onlyChinese(obj) {
obj.value = obj.value.replace(/[^\u4E00-\u9FA5]/g,''); ;
};

/**
* 只能输入英文、数字、下划线
* <input type="text"  onkeyup="onlyNumOrLetterOr_(this)" />
*/
function onlyNumOrLetterOr_(obj) {
obj.value = obj.value.replace(/[^\w\.\/]/ig,''); 
};

/**
* 只能输入英文、数字、特殊符号 =@#!$%&.*_
* <input type="text"  onkeyup="onlyNumOrLetterOrSign(this)" />
*/
function onlyNumOrLetterOrSign(obj) {
obj.value = obj.value.replace(/[^\w=@#!$%&.*_]|/ig,'');  
};


//****************************************************************************************************************

/**
* 常用正则校验
*
*/

//****************************************************************************************************************

/**
*正则校验
*repl 正则表达式
*str  要校验字符串
*/
function checkRepl(repl,str){
    if(repl.test(str)){
        return true;
    }else{
        return false;
    }
}

/**
* 手机号校验
*/
function checkMobile(str) {
    var repl = /^1[3|4|5|7|8][0-9]\d{4,8}$/;
    if(repl.test(str)){
        return true;
    }else{
        return false;
    }
}

/**
* 邮箱校验
*/
function checkEmail(str){
    var repl = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/;
    if(repl.test(str)){
        return true;
    }else{
        return false;
    }
}

/**
* 身份证校验
*/
function checkCardId(str){
    var repl = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
    if(repl.test(str)){
        return true;
    }else{
        return false;
    }
}



猜你喜欢

转载自lijian541x.iteye.com/blog/2331503