عند القيام بالمشاريع ، تحتاج إلى "تنظيف" البيانات التي تم الحصول عليها ، مثل القضاء على بعض أرقام بطاقات الهوية التي لا يمكن أن توجد. تحقق من خوارزمية التحقق من رقم الهوية عبر الإنترنت ، وتلخيصها بنفسك.
(1) هيكل رقم بطاقة الهوية 18
رقم المواطنة هو رمز مزيج الميزات ، يتكون من 17 رقمًا من رمز الجسم ورمز الفحص المدرسي.
أمر الترتيب من اليسار إلى اليمين هو: Six -Digit Number Code ، ثمانية رمز تاريخ الميلاد ، رمز طلب ثلاثة -رمز التحقق.
1. رمز العنوان
ويمثل مدونة قسم المنطقة الإدارية للمقاطعة (المدينة والعلم والمنطقة) حيث يوجد كائن الترميز ، ويتم تنفيذه وفقًا لأحكام GB/T2260.
2. رمز تاريخ الميلاد
وهذا يعني أن يتم تنفيذ كائن الترميز السنوي والشهر واليوم وفقًا لأحكام GB/T7408 ، ولا يوجد رمز انفصالي بين العام والشهر والرمز النهاري.
3. الكود المتسلسل
وهذا يعني أنه داخل المنطقة التي تم تحديدها بواسطة رمز العنوان نفسه ، تم تعيين رقم طلب الشخص المولود في نفس العام ، في نفس الشهر ، وفي اليوم نفسه للرجال ، ويتم تعيين عدد الرموز للنساء.
4. فحص خطوة حساب الرمز
(1) سبعة عشر رقمًا من رمز الجسم مرجحة الصيغة
s = sum (ai * wi) ، i = 0 ، ... ، 16 ، الأول من أول 17 رقمًا من أول 17 رقمًا و AI: أشير إلى عدد أرقام المعرف في الموضع الأول (0 ~ 9)
WI: 7 10 5 8 8 2 1 6 3 7 10 5 8 4 2 (يمثل العوامل المرجحة في I)
(2) وضع الحوسبة
y = mod (s ، 11)
(3) وفقًا للقالب ، ابحث عن رمز الاختيار المقابل
Y: 0 1 2 3 4 5 6 7 8 9 10 10
رمز التحقق: 1 0 x 9 8 7 6 5 4 3 2 2
(2) الحصول على آخر مثال على برنامج التفتيش المدرسي وفقًا لـ 17 رقمًا من رمز الجسم
id18 {int [] weight = {7،9،10،5،8،4،2،6،9،10،5،8،4،2} ؛ "1 '،' 0 '،' x '،' 9 '،' 8 '،' 7 '،' 5 '،' 4 '،' 3 '،' ، '3' ، '3' '2' } ؛ {sum = sum+integer.parseint (string.valueof (id17.charat (i))*الوزن [i] ؛ id18 test = new ID18 () ؛
(3) الوصف
1. يمكن للبرنامج الحصول على رمز التحقق المقابل بناءً على رمز الجسم الحالي 17 -Digit.
2. يمكن لهذا البرنامج إزالة رقم المعرف مع رموز التحقق غير صحيحة.
ولدت بطاقة الهوية 3.15 في العام الأخير من العام ، ولم يكن هناك رمز المدرسة الأخير.
4. 18 وظيفة في بطاقات الهوية الكاملة ، والاختبار المدرسي الأخير قد يكون غير محظوظين. أحد مشاريعنا ، أول 17 رقمًا من الحفاظ على قاعدة البيانات ، بحيث يكون لبعض عبارات SQL (مثل Join Inner) تأثير تسارع! التقاطع التقاطع