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


浙公网安备 33010602011771号