نسخة الكود كما يلي:
// يجب أن تحتوي صفحة HTML على مربع إدخال مع ID Identity_card ، ومكان للمطالبة برسالة إذا كانت بطاقة ID ذات IPMessage خاطئة أو صحيحة أو تتم مطالبتها.
<script>
// التحقق من بطاقة الهوية
$ (وثيقة). ready (function () {
$ ("#Identity_Card"). Change (function () {
var idcard = $ (this) .val () ؛
CheckDate (idcard) ؛
}) ؛
}) ؛
//بطاقة الهوية
وظيفة checkDate (idcard) {
var socialno = idcard ؛
إذا (SocialNo == "")
{
$ ('#ipmessage'). html ('تنسيق رقم معرف الإدخال غير صحيح ، يجب أن يكون رقم معرف من 15 إلى 18 رقمًا) ؛
التنبيه ("لا يمكن أن يكون رقم معرف إدخال فارغ!") ؛
العودة (خطأ) ؛
}
if (socialno.length! = 15 && socialno.length! = 18)
{
$ ('#ipmessage'). html ('تنسيق رقم معرف الإدخال غير صحيح ، يجب أن يكون رقم معرف من 15 إلى 18 رقمًا) ؛
التنبيه ("تنسيق رقم معرف الإدخال غير صحيح!") ؛
العودة (خطأ) ؛
}
var area = {11: "Beijing" ، 12: "Tianjin" ، 13: "Hebei" ، 14: "Shanxi" ، 15: "Inner Mongolia" ، 21: "Liaoning" ، 22: "Jilin" ، 23: " Heilongjiang "، 31:" Shanghai "، 32:" Jiangsu "، 33:" Zhejiang "، 34:" Anhui "، 35:" Fujian "، 36:" Jiangxi "، 37:" Shandong "، 41:" Henan " ، 42: "Hubei" ، 43: "Hunan" ، 44: "Guangdong" ، 45: "Guangxi" ، 46: "Hainan" ، 50: "Chongqing" ، 51: "Sichuan" ، 52: "Guizhou" ، 53 : "يونان" ، 54: "التبت" ، 61: "شنشي" ، 62: "Gansu" ، 63: "Qinghai" ، 64: "Ningxia" ، 65: "Xinjiang" ، 71: "Taiwan" ، 81: " هونغ كونغ "، 82:" ماكاو "، 91:" أجنبي "} ؛
if (المنطقة [parseint (socialno.substr (0،2))] == null) {
$ ('#ipmessage'). html ('تنسيق رقم معرف الإدخال غير صحيح ، يجب أن يكون رقم معرف من 15 إلى 18 رقمًا) ؛
تنبيه ("رقم معرف غير لائق (منطقة غير قانونية)!") ؛
العودة (خطأ) ؛
}
إذا (socialno.length == 15)
{
pattern =/^/d {15} $/؛
if (pattern.exec (socialno) == null) {
$ ('#ipmessage'). html ('تنسيق رقم معرف الإدخال غير صحيح ، يجب أن يكون رقم معرف من 15 إلى 18 رقمًا) ؛
تنبيه ("يجب أن يكون رقم معرف رقم 15 رقمًا رقمًا!") ؛
العودة (خطأ) ؛
}
var birth = parseint ("19" + socialno.substr (6،2)) ؛
var month = socialno.substr (8،2) ؛
var day = parseint (socialno.substr (10،2)) ؛
التبديل (شهر) {
حالة "01":
حالة "03":
حالة "05":
حالة "07":
القضية '08':
القضية "10":
القضية "12":
إذا (اليوم> 31) {
$ ('#ipmessage'). html ('تنسيق رقم معرف الإدخال غير صحيح ، يجب أن يكون رقم معرف من 15 إلى 18 رقمًا) ؛
التنبيه ("رقم معرف الإدخال ليس بالتنسيق الصحيح!") ؛
العودة كاذبة
}
استراحة؛
حالة "04":
حالة "06":
حالة "09":
القضية "11":
إذا (اليوم> 30) {
$ ('#ipmessage'). html ('تنسيق رقم معرف الإدخال غير صحيح ، يجب أن يكون رقم معرف من 15 إلى 18 رقمًا) ؛
التنبيه ("رقم معرف الإدخال ليس بالتنسيق الصحيح!") ؛
العودة كاذبة
}
استراحة؛
حالة "02":
إذا ((الولادة ٪ 4 == 0 && الميلاد ٪ 100! = 0) || الولادة ٪ 400 == 0) {
إذا (اليوم> 29) {
$ ('#ipmessage'). html ('تنسيق رقم معرف الإدخال غير صحيح ، يجب أن يكون رقم معرف من 15 إلى 18 رقمًا) ؛
التنبيه ("رقم معرف الإدخال ليس بالتنسيق الصحيح!") ؛
العودة كاذبة
}
} آخر {
إذا (اليوم> 28) {
$ ('#ipmessage'). html ('تنسيق رقم معرف الإدخال غير صحيح ، يجب أن يكون رقم معرف من 15 إلى 18 رقمًا) ؛
التنبيه ("رقم معرف الإدخال ليس بالتنسيق الصحيح!") ؛
العودة كاذبة
}
}
استراحة؛
تقصير:
$ ('#ipmessage'). html ('تنسيق رقم معرف الإدخال غير صحيح ، يجب أن يكون رقم معرف من 15 إلى 18 رقمًا) ؛
التنبيه ("رقم معرف الإدخال ليس بالتنسيق الصحيح!") ؛
العودة كاذبة
}
var nowyear = new date (). getyear () ؛
if (nowyear - parseint (الولادة) <15 || nowyear - parseint (الولادة)> 100) {
$ ('#ipmessage'). html ('تنسيق رقم معرف الإدخال غير صحيح ، يجب أن يكون رقم معرف من 15 إلى 18 رقمًا) ؛
التنبيه ("رقم معرف الإدخال ليس بالتنسيق الصحيح!") ؛
العودة كاذبة
}
$ ('#ipmessage'). html ('pass!') ؛
العودة (صواب) ؛
}
var wi = صفيف جديد (
7،9،10،5،8،4،2،1،6 ،
3،7،9،10،5،8،4،2،1
) ؛
var lsum = 0 ؛
var nnum = 0 ؛
var nchecksum = 0 ؛
لـ (i = 0 ؛ i <17 ؛ ++ i)
{
if (socialno.charat (i) <'0' || socialno.charat (i)> '9')
{
$ ('#ipmessage'). html ('تنسيق رقم معرف الإدخال غير صحيح ، يجب أن يكون رقم معرف من 15 إلى 18 رقمًا) ؛
التنبيه ("تنسيق رقم معرف الإدخال غير صحيح!") ؛
العودة (خطأ) ؛
}
آخر
{
nnum = socialno.charat (i) - '0' ؛
}
lsum += nnum * wi [i] ؛
}
if (socialno.charat (17) == 'x' || socialno.charat (17) == 'x')
{
lsum += 10*wi [17] ؛
}
وإلا إذا
{
$ ('#ipmessage'). html ('تنسيق رقم معرف الإدخال غير صحيح ، يجب أن يكون رقم معرف من 15 إلى 18 رقمًا) ؛
التنبيه ("تنسيق رقم معرف الإدخال غير صحيح!") ؛
العودة (خطأ) ؛
}
آخر
{
lsum += (socialno.charat (17) - '0') * wi [17] ؛
}
إذا ((lsum ٪ 11) == 1)
{
$ ('#ipmessage'). html ('pass!') ؛
العودة صحيح.
}
آخر
{
$ ('#ipmessage'). html ('تنسيق رقم معرف الإدخال غير صحيح ، يجب أن يكون رقم معرف من 15 إلى 18 رقمًا) ؛
التنبيه ("تنسيق رقم معرف الإدخال غير صحيح!") ؛
العودة (خطأ) ؛
}
}
</script>