tijian_tieying/web/dccdc/Views/Dictionaries/TJYYDJ.cshtml
2025-02-20 12:14:39 +08:00

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>
}