JS前台数据校验(常用)留底备份

原创
2016/06/01 19:11
阅读数 189

记录几个常用的前台数据库的校验

/*字符串去空格*/
function trimStrOT(str){
    return str==null||str==''?'':str.replace(/\s+/g,'');
}

/*字符串类型验证*/
function strTypeJdg(str,jdgType){
    if (trimStrOT(str)!=''){
        var jdgStr='';
        switch(jdgType){
            case null:
                jdgStr='required';/*非空*/
                break;
            case 'digital':/*数字*/
                jdgStr=/^[0-9]+([.]\d{1,4})?$/;
                break;
            case 'pInteger':/*非0正整数*/
                jdgStr=/^\+?[1-9][0-9]*$/;
                break;
            case 'money':/*金钱*/
                jdgStr=/^[0-9]*(\.[0-9]{1,7})?$/;
                break;
            case 'username':/*数字、26个英文字母或者下划线组成*/
                jdgStr=/[\u4E00-\u9FA5\w]{2,}$/;
                break;
            case 'password':/*密码组成判断,字母开头,长度在6~20之间,只能包含字符、数字和下划线*/
                jdgStr=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){5,19}$/;
                break;
            case 'chn':/*汉字*/
                jdgStr=/^[\u4e00-\u9fa5]{0,}$/;
                break;
            case 'tel':/*座机、传真号码*/
                jdgStr=/^[0-9]{3,4}(\-)[0-9]{7,8}(\-[0-9]{1,4})?$/;
                break;
            case 'mobile':/*手机号码*/
                jdgStr=/^(13[0-9]|14[0-9]|15[0-9]|18[0-9])\d{8}$/;
                break;
            case 'mail':/*邮箱*/
                jdgStr=/^[a-zA-Z0-9_\-]{1,}@[a-zA-Z0-9_\-]{1,}\.[a-zA-Z0-9_\-.]{1,}$/;
                break;
            case 'postal':/*邮政编码*/
                jdgStr=/^[0-9]{6}$/;
                break;
            case 'date':/*中文日期*/
                jdgStr=/^(\d{4})-(0\d{1}|1[0-2])-(0\d{1}|[12]\d{1}|3[01])$/;
                break;
            case 'ID':/*身份证*/
                jdgStr=/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
                break;
            default:
                break;
        }
        return jdgStr!=''?jdgStr!='required'?jdgStr.test(str):trimStrOT(str)!='':false;
    }else{
        return false;
    }
}

/*对比前后两个值*/
function compareValJdg(beforeID, afterID){
    var beforeObj = $("#" + beforeID);
    var afterObj = $("#" + afterID);
    var beforeVal = trimStrOT(beforeObj.val());
    var afterVal = trimStrOT(afterObj.val());
    if(beforeVal == afterVal){
        beforeObj.hide();
    }else{
        beforeObj.show();
    }
}

/*
 * 重复密码验证
 * pwdID:密码控件id
 * rePwdID:重复密码控件id
 * tipsText:提示文本
 * required:是否必填项
 * */
function passwordJdg(pwdID,rePwdID,tipsText,required) {
    var passwordObj = $("#" + pwdID);
    var rePasswordObj = $("#" + rePwdID);
    var password=trimStrOT(passwordObj.val());
    var rePassword=trimStrOT(rePasswordObj.val());
    var validateResult=false;
    if(password!=''&&rePassword!=''){
        validateResult=password===rePassword;
        tipsEleOperation(rePasswordObj,tipsText,validateResult);
    }else{
        validateResult=required?false:true;
    }
    return validateResult;
}

/*
*2个日期前后验证
* startID:开始日期控件id
* endID:结束日期控件id
* tipsText:提示文本
* required:是否必填项
* */
function doubleDateJdg(startID, endID, tipsText,required) {
    var startDateObj = $("#" + startID);
    var endDateObj = $("#" + endID);
    var startDate=trimStrOT(startDateObj.val());
    var endDate=trimStrOT(endDateObj.val());
    var validateResult=false;
    if(startDate!=''&&endDate!=''){
        var d1 = new Date(startDate.replace(/\-/g, "\/"));
        var d2 = new Date(endDate.replace(/\-/g, "\/"));
        validateResult=startDate!=''&&endDate!=''&&d1<d2;
        tipsEleOperation(startDateObj,tipsText,validateResult);
    }else{
        validateResult=required?false:true;
    }
    return validateResult;
}

/*
*字符串长度验证
* startLen:最小长度
* endLen:最大长度
* tipsText:提示文本
* required:是否必填项,值:true/false
* */
function commonLengthJdg(id,startLen,endLen,tipsText,required){
    var obj = $("#" + id);
    var str=obj.val();
    var validateResult=false;
    if (trimStrOT(str)!=''){
        if(startLen!=null&&endLen!=null&&startLen<endLen){
            if (typeof str != 'string')str += '';
            var length=str.replace(/[^x00-xff]/g,'01').length;
            validateResult=startLen<=length&&length<=endLen;
        }else{
            validateResult=false;
        }
    }else{
        validateResult=required?false:true;
    }
    tipsEleOperation(obj,tipsText,validateResult);
    return validateResult;
}

/*
* 清除区域内提示组件
* areaID:区域ID
*/
function clearAreaTipsEle(areaID){
    $('#'+areaID).find('.tipsEle').hide();
}

/*
* 控件值类型验证
* jdgType:验证类型,值如下:
* 数字(digital),非0正整数(pInteger),金钱(money),用户名(username)
* 密码(password),汉字(chn),固定电话、传真(tel),手机(mobile)
* 邮箱(mail),日期(date),身份证(ID),非空验证(null)
* tipsText:提示文本
* required:是否必填项,值:true/false
* */
function commonTypeJdg(id,jdgType,tipsText,required){
    var obj = $("#" + id);
    var str=obj.val();
    var validateResult=required?strTypeJdg(str,jdgType):trimStrOT(str)!=''?strTypeJdg(str,jdgType):true;
    tipsEleOperation(obj,tipsText,validateResult);
    return validateResult;
}

/**
*只能输入整数
*/
function checkRate(input){
    var nubmer = parseInt(document.getElementById(input).value);
    if(isNaN(nubmer)||nubmer<=0||!(/^\d+$/.test(nubmer))){
    {
        alert("请输入正确的数值,只允许输入整数!");
        document.getElementById(input).value = "";
        return false;
     }
}


//判断是不是数字
function isNum(val){
            if(!isNaN(val)){ //判断是不是非法数字,不能检测小数
                return true; //这里如果非非法数字,返回true
            }else{
                return false;
            }
}

 

展开阅读全文
打赏
0
4 收藏
分享
加载中
更多评论
打赏
0 评论
4 收藏
0
分享
返回顶部
顶部