177 lines
8.9 KiB
Plaintext
177 lines
8.9 KiB
Plaintext
@model dccdc.Models.MedicalAppointment
|
|
@{
|
|
ViewBag.Title = "体检预约登记";
|
|
}
|
|
@using (Ajax.BeginForm("saveMedicalAppointment", new AjaxOptions { HttpMethod = "Post", OnSuccess = "success" }))
|
|
{
|
|
<table class="t1" style="width:500px">
|
|
<tr>
|
|
<td class="ltd" width="100px">用户名:</td>
|
|
<td class="rtd">@Html.TextBoxFor(t => t.xingMing, new { @class = "l-text" })</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="ltd" width="100px">身份证号:</td>
|
|
<td class="rtd">@Html.TextBoxFor(t => t.IDCard, new { @class = "l-text" })</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="ltd" width="100px">手机号:</td>
|
|
<td class="rtd">@Html.TextBoxFor(t => t.Mobile, new { @class = "l-text" })</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="ltd" width="100px">预约体检日期:</td>
|
|
<td class="rtd">@Html.TextBoxFor(t => t.ADate)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="ltd" width="100px">有害因素:</td>
|
|
<td class="rtd"><input id="YHYS_Text" name="YHYS_Text" type="text" style="display:none" />
|
|
@Html.HiddenFor(m=>m.YHYS)
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="ltd" width="100px">在岗状态:</td>
|
|
<td class="rtd">@Html.DropDownListFor(m => m.ZGZT, ViewData["ZGZT"] as SelectList, "----请选择----")</td>
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
<td>@Html.HiddenFor(t => t.id)</td>
|
|
<td class="rtd" width="100px"><input id="save" type="submit" class="l-button" value="保存" onclick="f_save();"></td>
|
|
</tr>
|
|
</table>
|
|
}
|
|
|
|
@section scripts{
|
|
<script type="text/javascript">
|
|
$(function () {
|
|
$("#ADate").ligerDateEditor();
|
|
$("#ZGZT").ligerComboBox();
|
|
$("#YHYS").ligerComboBox({
|
|
isShowCheckBox: true,split:",",
|
|
url: "@Url.Action("getYHYS")",
|
|
valueField: "id",
|
|
textField: "harmful_factor_type_name",
|
|
isMultiSelect: true, width: 300, valueFieldID:"YHYS"
|
|
});
|
|
});
|
|
function success(data) {
|
|
if (data.State == "1") {
|
|
$.ligerDialog.alert(data.Message,
|
|
function () {
|
|
|
|
});
|
|
} else {
|
|
$.ligerDialog.alert(data.Message);
|
|
}
|
|
}
|
|
function f_save() {
|
|
var idcard = $("#IDCard").val();
|
|
var result = checkIdcard(idcard);
|
|
if (result != "验证通过!") {
|
|
alert(result);
|
|
return;
|
|
}
|
|
}
|
|
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>
|
|
}
|
|
|