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