jquery和js源码

1,有关注册时验证的Jquery代码:

View Code
document.oncontextmenu = function (e) { return false; }
function getkeyCode(e) {
    if (!e) e = window.event; return e.keyCode;
}
$(function () {

    //#region 只能输入大小写字母和数字
    $(".letterint").keydown(function (e) {
        if (e.ctrlKey || e.shiftKey || e.altKey) {
            $.messager.alert('提示', '只能输入大小写字母和数字');
            $(this).val("");
            return false;
        }
        var k = getkeyCode(e);
        if (!((k >= 96 && k <= 105) || (k >= 48 && k <= 57) || (k >= 65 && k <= 90) || k == 8 || k == 37 || k == 39 || k == 9)) {
            $.messager.alert('提示', '只能输入大小写字母和数字');
            $(this).val("");
            return false;
        }
    });
    $(".letterint").blur(function () {
        if ($(this).val() != "") {
            if ($(this).val().length < 6) {
                $.messager.alert('提示', '密码只能输入6-16个字符');
                $(this).val("");
                return false;
            }
        }
    })

    //#region 禁止所有text和password使用空格键
    $(":text,:password").keydown(function (e) {
        var k = getkeyCode(e);
        if (k == 32 || k == 222) return false;
    });
    //#endregion 
});
//#region 验证方法
//确认密码
function querenpass() {
    if ($("#checkpass").val() != $("#pass").val()) {
        $("#Div1").show();
        $("#Div1").text("密码不一致!");
        $(this).val("");
        return false;
    } else { return true; }
}
//#region 根据省份选择城市
function changecity(prov) {
        $.ajax({
            type: "POST",
            url: "/ClientServices/City.asmx/GetCity",
            data: "{provid:'" + prov + "'}",
            dataType: "json",
            contentType: "application/json",
            success: function (msg) {
                var list = eval("(" + msg.d + ")");
                $city = $("#cityid");
                $city.find("option").remove();
                $.each(list, function (i) {
                    $city.append("<option value=\"" + list[i].ef_cId + "\">" + list[i].ef_cName + "</option>");
                });
            }
        })
    }
    //#endregion

//#region 验证邮箱格式
function checkregemail(email) {
    var myreg = /^([a-za-z0-9_-])+@([a-za-z0-9_-])+(.[a-za-z0-9_-])+/;
    if (myreg.test(email)==false) {
        $("#Div1").show();
        $("#Div1").text("邮箱格式不正确!");
        return false;
    }
    else {
        var checkbool=false;
        $.ajax({
            type: "post",
            async:false,
            url: "/ClientServices/checkmobile.ashx",
            data: "mail=" + email,
            dataType: "text",
            success: function (msg) {
                if (msg.toString() == "True") {
                    $("#Div1").show().html("此邮箱已被注册!");
                    checkbool= false;
                }
                else {
                    checkbool =true;
                }
            }
        })
        return checkbool;
     }
}
//#endregion
//#region 验证是否为正整数
function checkIsQQ(str) {
    var reg1 = /^\d+$/;
    if (str.match(reg1) == null) {
        return false;
    }
    else {
        return true;
    }
}
//#endregion
//刷新验证码
function reloadcode() {
    var verify = document.getElementById('imgCode');
    verify.setAttribute('src', 'codeimg.aspx?m=' + Math.random());
    //这里必须加入随机数不然地址相同我发重新加载
}
//#region   注册上传控件的选择事件
$(".Imgfile").live("change", function () {
    handleFiles(this, "#"+$(this).attr("myimg"));
})
//#endregion
//#region   上传预览图片
function handleFiles(file2,imgid) {
    var files = file2.files;
    for (var i = 0; i < files.length; i++) {//循环获取file里的文件
        var file = files[i];
        var imageType = /image.*/;
        if (!file.type.match(imageType)) {//如果不是图片
            $.messager.alert('提示', '请上传正确的图片格式');
            continue;
        }
        var fileSizeK = (file.fileSize || file.size) / 1024;
        if (fileSizeK > 200) {
            $.messager.alert('提示', '单张图片大小不能超过200K,请压缩后上传');
            continue;
        }
        //alert(file.name);
        //document.write(file.fileName);
        upimg(imgid);
    }
}
//#endregion
//jqury.ajax上传图片
function upimg(imgid) {
    $("#formimg").ajaxSubmit({
        type: "post",
        url: "/Services/upEmployeeImage.ashx",
        success: function (msg) {
            var imgpath = "";
            $("input[type='file']").val("");
            if (msg != "" && msg != undefined) {
                imgpath = msg.replace("<head></head><body><pre>", "").replace("</pre></body>", "");
                $(imgid).attr("src", imgpath);
            }
            else {
                $.messager.alert('提示', '只允许上传图片');
            }
        }
    })
}


/**  
* 判断身份证号码为18位时最后的验证位是否正确  
* @param a_idCard 身份证号码数组  
* @return  
*/
function isTrueValidateCodeBy18IdCard(a_idCard) {
    var sum = 0;                             // 声明加权求和变量   
    if (a_idCard[17].toLowerCase() == 'x') {
        a_idCard[17] = 10;                    // 将最后位为x的验证码替换为10方便后续操作   
    }
    for (var i = 0; i < 17; i++) {
        sum += Wi[i] * a_idCard[i];            // 加权求和   
    }
    valCodePosition = sum % 11;                // 得到验证码所位置   
    if (a_idCard[17] == ValideCode[valCodePosition]) {
        return true;
    } else {
        return false;
    }
}
/**  
* 验证18位数身份证号码中的生日是否是有效生日  
* @param idCard 18位书身份证字符串  
* @return  
*/
function isValidityBrithBy18IdCard(idCard18) {
    var year = idCard18.substring(6, 10);
    var month = idCard18.substring(10, 12);
    var day = idCard18.substring(12, 14);
    var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));
    // 这里用getFullYear()获取年份,避免千年虫问题   
    if (temp_date.getFullYear() != parseFloat(year)
          || temp_date.getMonth() != parseFloat(month) - 1
          || temp_date.getDate() != parseFloat(day)) {
        return false;
    } else {
        return true;
    }
}
/**  
* 验证15位数身份证号码中的生日是否是有效生日  
* @param idCard15 15位书身份证字符串  
* @return  
*/
function isValidityBrithBy15IdCard(idCard15) {
    var year = idCard15.substring(6, 8);
    var month = idCard15.substring(8, 10);
    var day = idCard15.substring(10, 12);
    var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));
    // 对于老身份证中的你年龄则不需考虑千年虫问题而使用getYear()方法   
    if (temp_date.getYear() != parseFloat(year)
              || temp_date.getMonth() != parseFloat(month) - 1
              || temp_date.getDate() != parseFloat(day)) {
        return false;
    } else {
        return true;
    }
}
//#endregion
//去掉字符串头尾空格   
function trim(str) {
    return str.replace(/(^\s*)|(\s*$)/g, "");
}
//#region验证身份证
var Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1];    // 加权因子   
var ValideCode = [1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2];            // 身份证验证位值.10代表X   
function IdCardValidate(idCard) {
    idCard = trim(idCard.replace(/ /g, ""));               //去掉字符串头尾空格                     
    if (idCard.length == 15) {
        return isValidityBrithBy15IdCard(idCard);       //进行15位身份证的验证    
    } else if (idCard.length == 18) {
        var a_idCard = idCard.split("");                // 得到身份证数组   
        if (isValidityBrithBy18IdCard(idCard) && isTrueValidateCodeBy18IdCard(a_idCard)) {   //进行18位身份证的基本验证和第18位的验证
            return true;
        } else {
            return false;
        }
    } else {
        return false;
    }
}
//#endregion

$("#pass").keydown(function (e) {
    if (e.ctrlKey || e.shiftKey || e.altKey) {
        $("#Div1").show();
        $("#Div1").text("密码6-16位,字母和数字组成");
        $(this).val("");
        return false;
    }
    var k = getkeyCode(e);
    if (!((k >= 96 && k <= 105) || (k >= 48 && k <= 57) || (k >= 65 && k <= 90) || k == 8 || k == 37 || k == 39 || k == 9)) {
        $("#Div1").show();
        $("#Div1").text("密码6-16位,字母和数字组成");
        $(this).val("");
        return false;
    }
});
function passlength(password) {
    if (password != "") {
        if (password.length < 6) {
            $("#Div1").show();
            $("#Div1").text("密码只能输入6-16个字符");
            $(this).val("");
            return false;
        }
        else {
            return true;
        }
    }
    else {
        $("#Div1").show();
        $("#Div1").text("请填写密码!");
        return false;
    }
}

 //#region 验证手机号码
 function checkPhone(phone) {
     //验证电话号码手机号码,包含至今所有号段   
     var ab = /^0?(13[0-9]|15[012356789]|18[0236789]|14[57])[0-9]{8}$/;
     if (ab.test(phone) == false||phone.length!=11) {
         $("#Div1").show();
         $("#Div1").text("请正确填写手机号码!");
         return false;
     }
     else {
         var checkbool = false;
         $.ajax({
             type:"POST",
             async:false,
             url:"/ClientServices/checkmobile.ashx",
             data:"mobile=" + phone,
             dataType: "text",
             success: function (msg) {
                 if (msg.toString() == "True") {
                     $("#Div1").show();
                     $("#Div1").html("此手机号已被注册!");
                     checkbool = false;
                 }
                 else {
                     checkbool = true;
                 }
             }
         })
         return checkbool;
     }
 }
 //#endregion 

 //#region 注册验证
 function checkall() {
     if ($("#cityid").val() == "-1") {
         $("#Div1").show().html("请选择您所在城市!开通服务需要"); return false;
     }
     if (checkPhone($("#mobile").val())==false) {
         return false;
     }
     if (passlength($("#pass").val())==false) {
         return false;
     }
     if (querenpass() == false) {
         return false;
     }
     if ($("#username").val() == "") {
         $("#Div1").show().html("请填写姓名!"); return false;
     }
     if ($("#email").val() == "") {
         $("#Div1").show().html("请填写邮箱!找回密码需要"); return false;
     }
     if (checkregemail($("#email").val()) == false) {
         return false;
     }
     if ($("#qq").val() == "") {
         $("#Div1").show().html("请填写QQ!开通服务需要"); return false;
     }
     return true;
 }
 //#endregion
posted @ 2012-08-21 18:03  金河  阅读(511)  评论(0编辑  收藏  举报