339 lines
16 KiB
Plaintext
339 lines
16 KiB
Plaintext
|
|
@model dccdc.Models.InfectionOpenUserInfoModel
|
|
|
|
<!DOCTYPE html>
|
|
|
|
<html>
|
|
<head>
|
|
|
|
@section scripts{
|
|
<script src="@Url.Content("~/Scripts/ajaxfileupload.js")"></script>
|
|
<script type="text/javascript">
|
|
$(function () {
|
|
$("#birth").ligerDateEditor();
|
|
$("#user_id").val("0");
|
|
});
|
|
|
|
var filechange = function (event) {
|
|
var files = event.target.files, file;
|
|
if (files && files.length > 0) {
|
|
// 获取目前上传的文件
|
|
file = files[0];// 文件大小校验的动作
|
|
//if (file.size > 1024 * 1024 * 2) {
|
|
// alert('图片大小不能超过 2MB!');
|
|
// return false;
|
|
//}
|
|
// 获取 window 的 URL 工具
|
|
var URL = window.URL || window.webkitURL;
|
|
// 通过 file 生成目标 url
|
|
var imgURL = URL.createObjectURL(file);
|
|
//用attr将img的src属性改成获得的url
|
|
$("#img-change").attr("src", imgURL);
|
|
// 使用下面这句可以在内存中释放对此 url 的伺服,跑了之后那个 URL 就无效了
|
|
// URL.revokeObjectURL(imgURL);
|
|
}
|
|
};
|
|
|
|
$("#submitid").click(function () {
|
|
|
|
if ($("#name").val().trim() == "") {
|
|
$.ligerDialog.alert("请输入姓名!");
|
|
return;
|
|
}
|
|
if ($("#unit").val().trim() == "") {
|
|
$.ligerDialog.alert("请输入所属单位!");
|
|
return;
|
|
}
|
|
if ($("#phone").val().trim() == "") {
|
|
$.ligerDialog.alert("请输入手机号码!");
|
|
return;
|
|
}
|
|
if ($("#ident").val().trim() == "") {
|
|
$.ligerDialog.alert("请输入身份证!");
|
|
return;
|
|
}
|
|
if ($("#birth").val().trim() == "") {
|
|
$.ligerDialog.alert("请输入生日!");
|
|
return;
|
|
}
|
|
if ($("#birth").val().trim() == "") {
|
|
$.ligerDialog.alert("请输入生日!");
|
|
return;
|
|
}
|
|
if ($("#crowd_id").val() == "") {
|
|
$.ligerDialog.alert("请选择所属人群!");
|
|
return;
|
|
}
|
|
if ($("#license").val() == "") {
|
|
$.ligerDialog.alert("请选择驾驶证照片!");
|
|
return;
|
|
}
|
|
$.ajaxFileUpload({
|
|
url: "@Url.Action("addOpenUserInfoQuerySave")",
|
|
type: "post",
|
|
dataType: "json",
|
|
data: {
|
|
name: $("#name").val(),
|
|
unit: $("#unit").val(),
|
|
phone: $("#phone").val(),
|
|
ident: $("#ident").val(),
|
|
birth: $("#birth").val(),
|
|
age: $("#age").val(),
|
|
sex: $("#sex").val(),
|
|
user_id: $("#user_id").val(),
|
|
crowd_id: $("#crowd_id").val()
|
|
},
|
|
fileElementId: "license", // 上传文件的id、name属性名
|
|
success: function (data) {
|
|
$.ligerDialog.alert(data.Message, function () { window.parent.init(); });
|
|
},
|
|
error: function (e) {
|
|
$.ligerDialog.warn(e.responseText);
|
|
}
|
|
});
|
|
});
|
|
|
|
$("#ident").blur(function() {
|
|
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
|
|
if (checkIdcard($("#ident").val(), '', '') === "验证通过!") {
|
|
$("#birth").val(IdCard($("#ident").val(), 1));
|
|
$("#age").val(IdCard($("#ident").val(), 3));
|
|
$("#sex").val(IdCard($("#ident").val(), 2));
|
|
} else {
|
|
if ($("#ident").val() != "") {
|
|
$.ligerDialog.alert("身份证不合法!请重新填写",
|
|
function () {
|
|
$("#ident").focus();
|
|
});
|
|
}
|
|
}
|
|
});
|
|
|
|
function IdCard(UUserCard, num) {
|
|
if (num == 1) {
|
|
//获取出生日期
|
|
birth = UUserCard.substring(6, 10) +
|
|
"-" +
|
|
UUserCard.substring(10, 12) +
|
|
"-" +
|
|
UUserCard.substring(12, 14);
|
|
return birth;
|
|
}
|
|
if (num == 2) {
|
|
//获取性别
|
|
if (parseInt(UUserCard.substr(16, 1)) % 2 == 1) {
|
|
//男
|
|
return "男";
|
|
} else {
|
|
//女
|
|
return "女";
|
|
}
|
|
}
|
|
if (num == 3) {
|
|
//获取年龄
|
|
var myDate = new Date();
|
|
var month = myDate.getMonth() + 1;
|
|
var day = myDate.getDate();
|
|
var age = myDate.getFullYear() - UUserCard.substring(6, 10) - 1;
|
|
if (UUserCard.substring(10, 12) < month ||
|
|
UUserCard.substring(10, 12) == month && UUserCard.substring(12, 14) <= day) {
|
|
age++;
|
|
}
|
|
return age;
|
|
}
|
|
}
|
|
|
|
function checkIdcard(idcard, csrq, sex) {
|
|
//错误信息
|
|
var Errors = new Array("验证通过!", "身份证号码位数不对!", "身份证号码出生日期超出范围或含有非法字符!", "身份证号码校验错误!", "身份证地区非法!");
|
|
var area = {
|
|
11: "北京",
|
|
12: "天津",
|
|
13: "河北",
|
|
14: "山西",
|
|
15: "内蒙古",
|
|
21: "辽宁",
|
|
22: "吉林",
|
|
23: "黑龙江",
|
|
31: "上海",
|
|
32: "江苏",
|
|
33: "浙江",
|
|
34: "安徽",
|
|
35: "福建",
|
|
36: "江西",
|
|
37: "山东",
|
|
41: "河南",
|
|
42: "湖北",
|
|
43: "湖南",
|
|
44: "广东",
|
|
45: "广西",
|
|
46: "海南",
|
|
50: "重庆",
|
|
51: "四川",
|
|
52: "贵州",
|
|
53: "云南",
|
|
54: "西藏",
|
|
61: "陕西",
|
|
62: "甘肃",
|
|
63: "青海",
|
|
64: "宁夏",
|
|
65: "新疆",
|
|
71: "台湾",
|
|
81: "香港",
|
|
82: "澳门",
|
|
91: "国外"
|
|
}
|
|
var idcard, Y, JYM;
|
|
var S, M;
|
|
var idcard_array = new Array();
|
|
idcard_array = idcard.split("");
|
|
//地区检验
|
|
if (area[parseInt(idcard.substr(0, 2))] == null)
|
|
return Errors[4];
|
|
//身份证号码位数及格式检验
|
|
switch (idcard.length) {
|
|
case 15:
|
|
//15位身份证号码,出生日期的合法性检查
|
|
//闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
|
|
//平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
|
|
if ((parseInt(idcard.substr(6, 2)) + 1900) % 400 == 0 ||
|
|
((parseInt(idcard.substr(6, 2)) + 1900) % 100 != 0 &&
|
|
(parseInt(idcard
|
|
.substr(6, 2)) +
|
|
1900) %
|
|
4 ==
|
|
0)) {
|
|
ereg =
|
|
/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/; //闰年出生日期的合法性正则表达式
|
|
} else {
|
|
ereg =
|
|
/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/; //平年出生日期的合法性正则表达式
|
|
}
|
|
if (csrq) {
|
|
var sr = parseInt(idcard.substr(6, 2)) + 1900 + parseInt(idcard.substr(8, 4));
|
|
if (sr != csrq.replace(/-/g, "")) {
|
|
return "身份证和出生日期不对应!";
|
|
}
|
|
}
|
|
if (sex && sex == 1 && parseInt(idcard.substr(14, 1)) % 2 != 1) {
|
|
return "身份证和性别不对应!";
|
|
}
|
|
if (sex && sex == 2 && parseInt(idcard.substr(14, 1)) % 2 != 0) {
|
|
return "身份证和性别不对应!";
|
|
}
|
|
if (ereg.test(idcard))
|
|
return Errors[0];
|
|
else
|
|
return Errors[2];
|
|
break;
|
|
case 18:
|
|
//18位身份证号码,出生日期的合法性检查
|
|
//闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
|
|
//平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
|
|
if (parseInt(idcard.substr(6, 4)) % 400 == 0 ||
|
|
(parseInt(idcard.substr(6, 4)) % 100 != 0 && parseInt(idcard.substr(6, 4)) % 4 == 0)) {
|
|
ereg =
|
|
/^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/; //闰年出生日期的合法性正则表达式
|
|
} else {
|
|
ereg =
|
|
/^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/; //平年出生日期的合法性正则表达式
|
|
}
|
|
if (ereg.test(idcard)) {
|
|
if (csrq) {
|
|
var sr = parseInt(idcard.substr(6, 8));
|
|
if (sr != csrq.replace(/-/g, "")) {
|
|
return "身份证和出生日期不对应!";
|
|
}
|
|
}
|
|
if (sex && sex == 1 && parseInt(idcard.substr(16, 1)) % 2 != 1) {
|
|
return "身份证和性别不对应!";
|
|
}
|
|
if (sex && sex == 2 && parseInt(idcard.substr(16, 1)) % 2 != 0) {
|
|
return "身份证和性别不对应!";
|
|
}
|
|
//计算校验位
|
|
S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7 +
|
|
(parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9 +
|
|
(parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10 +
|
|
(parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5 +
|
|
(parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8 +
|
|
(parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4 +
|
|
(parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2 +
|
|
parseInt(idcard_array[7]) * 1 +
|
|
parseInt(idcard_array[8]) * 6 +
|
|
parseInt(idcard_array[9]) * 3;
|
|
Y = S % 11;
|
|
M = "F";
|
|
JYM = "10X98765432";
|
|
M = JYM.substr(Y, 1);
|
|
|
|
if (M == idcard_array[17]) //判断校验位
|
|
return Errors[0];
|
|
else
|
|
return Errors[3];
|
|
} else
|
|
return Errors[2];
|
|
break;
|
|
default:
|
|
return Errors[1];
|
|
break;
|
|
}
|
|
}
|
|
|
|
</script>
|
|
}
|
|
<meta name="viewport" content="width=device-width" />
|
|
<title></title>
|
|
</head>
|
|
<body>
|
|
<div id="edit">
|
|
<input type="hidden" id="user_id" name="user_id" />
|
|
<input type="hidden" id="sex" name="sex" />
|
|
<input type="hidden" id="age" name="age" />
|
|
<table class="t1" style="width: 100%">
|
|
<tr>
|
|
<td class="ltd" width="100px">姓名:</td>
|
|
<td class="rtd"><input type="text" id="name" name="name" style="width:140px" class="l-text" /></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="ltd" width="100px">所属单位:</td>
|
|
<td class="rtd"><input type="text" id="unit" name="unit" style="width:140px" class="l-text" /></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="ltd" width="100px">手机号码:</td>
|
|
<td class="rtd"><input type="text" id="phone" name="phone" style="width:140px" class="l-text" /></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="ltd" width="100px">身份证:</td>
|
|
<td class="rtd"><input type="text" id="ident" name="ident" style="width:140px" class="l-text" /></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="ltd" width="100px">生日:</td>
|
|
<td class="rtd"><input type="text" id="birth" name="birth" style="width:140px" class="l-text" /></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="ltd" width="100px">所属人群:</td>
|
|
<td class="rtd">@Html.DropDownListFor(m => m.crowd_id, ViewBag.crowdList as SelectList, "==请选择人群==", new { id = "crowd_id" })</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="ltd" style="width:100px">驾驶证:</td>
|
|
<td class="rtd" style="width:400px"><input type="file" name="license" id="license" onchange="filechange(event)" style="width:380px" /></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="ltd" style="width:100px"></td>
|
|
<td class="rtd" style="width:600px"><img src="" width="600px" height="400px" id="img-change"></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<div align="center">
|
|
<input type="submit" id="submitid" value="提交" class="l-button" />
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
</body>
|
|
</html>
|