بۇ يازمىنى ئاخىرىدا شەرەر تەھرىرلىگەن. ۋاقتى 2017-7-7 09:12
كىملىك نومۇرى 18 خانىلىق بولۇپ، سولدىن ئوڭغا تەرتىپ بويىچە: 6 خانە ئادرېس نومۇرى، 8 خانە تۇغۇلغان كۈن نومۇرى، 3 خانە تەرتىپ نومۇرى ۋە 1 خانە دەلىللەش نومۇرى.
ئادرېس نومۇرى. كىملىك ئىگىسىنىڭ دائىمىي تۇرۇشلۇق ناھىيە(شەھەر، رايۇن) مەمۇرىي رايۇن نومۇرى. ئالدىنقى 2 خانە ئۆلكىگە(ئاپتۇنۇم رايۇن، بىۋاستە قاراشلىق شەھەر ۋە ئالاھىدە مەمۇرىي رايۇن) ۋەكىللىك قىلىدۇ. ئالدىنقى 4 خانە ۋىلايەت(ۋىلايەت دەرىجىلىك شەھەر، ئاپتۇنۇم ئوبلاست) ۋەكىللىك قىلىدۇ. ئالدىنقى 6 خانە ناھىيەگە(ناھىيە دەرىجىلىك شەھەر، شەھەرگە قاراشلىق رايۇن) ۋەكىللىك قىلىدۇ.
تۇغۇلغان كۈن نومۇرى. كىملىك ئىگىسىنىڭ تۇغۇلغان يىل، ئاي، كۈن نومۇرى بولۇپ، ئالىقىغا ھىچقانداق بەلگە قويۇلمايدۇ.
تەرتىپ نومۇرى. ئوخشاش ئادرېس نومۇر ئىچىدىكى، بىر يىل، بىر ئاي، بىر كۈن ئىچىدە تۇغۇلغان كىشىلەرنىڭ تەرتىپ نومۇرى. تاق تەرتىپ نومۇر ئەرگە، جۈپ تەرتىپ نومۇر ئايالغا بېرىلىدۇ.
دەلىللەش نومۇرى. ئالدىنقى 17 خانە نومۇر ئاساسىدا، ISO 7064:1983.MOD 11-2 تەكشۈرۈش كودى ئاساسىدا ھېسابلاپ چىقىلغان دەلىللەش نومۇرى. ئەگەر بۇ نومۇر 0دىن 9غىچە بولسا شۇ بويىچە، ئەگەر 10 بولۇپ قالسا X رىم رەقىمى ئارقىلىق ئىپادىلىنىدۇ. ھېسابلاش ئۇسۇلى تۆۋەندىكىچە:
1. ئالدىنقى 17 خانىنى ئايرىم-ئايرىم ئۆزىنىڭ كويفىنسىنتى كۆپەيتىپ قوشۇپ بېرىمىز. 1-خانىدىن 17-خانىگىچە بولغان ساننىڭ كويفىنسىنتى ئايرىم-ئايرىم ھالدا: 7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2.
2. قوشۇپ چىققان ساننى 11گە بۆلۈپ، قالدۇقىنى تاپىمىز.
3. تاپقان قالدۇق 0-1-2-3-4-5-6-7-8-9-10 بۇ 11 خانىنىڭ خالىغان بىرى بولىشى مۇمكىن، ئايرىم-ئايرىم بۇلارغا ماس 1-0-X -9-8-7-6-5-4-3-2 تۆۋەندىكى سانلارنى ئىشلىتىمىز(قالدۇق 0 بولسا 1نى، 1 بولسا 0نى، 2 بولسا Xنى ئىشلىتىمىز).
ئەمدى بىز تۆنۈگۈن ئۆگەنگەن «Mid فونكىسىيەسى» ئارقىلىق كىملىك نومۇرىدىن بۇ ئۇچۇرلارغا ئېرىشىپ باقايلى:
- 'كىملىك نۇمۇر
- Dim IDCard As String = Trim(TextBox1.Text)
- If Len(IDCard) > 0 Then
- If Len(IDCard) = 18 Then
- 'تۇغۇلغان ۋاقتى
- TextBox2.Text = Mid(IDCard, 7, 4) & "-" & Mid(IDCard, 11, 2) & "-" & Mid(IDCard, 13, 2)
- 'جىنسى
- Select Case Mid(IDCard, 17, 1)
- Case "1", "3", "5", "7", "9"
- TextBox5.Text = "ئەر"
- Case Else
- TextBox5.Text = "ئايال"
- End Select
- 'كىرگەن ياش
- TextBox3.Text = Year(Now) - Mid(IDCard, 7, 4)
- 'جەمئىي ياشىغان كۈن
- TextBox4.Text = DateDiff(DateInterval.Day, CDate(TextBox2.Text), Now)
- 'ئادرېس
- Dim Dt As DataTable = Sandan.SQL("SELECT * FROM 地址 WHERE 号ID=" & Mid(TextBox1.Text, 1, 6) & "")
- If Dt.Rows.Count > 0 Then
- TextBox6.Text = Dt.Rows(0)(2).ToString
- End If
- 'توغرا خاتالىقنى تەكشۈرۈش
- Dim Multiply() As Integer = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2}
- Dim Verifity() As Char = {"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"}
- Dim Sum As Integer
- Dim Last As Char
- For i = 0 To 16
- Sum += IDCard.Substring(i, 1) * Multiply(i)
- Next
- Last = Verifity(Sum Mod 11)
- If Last = IDCard.Substring(17) Then
- Button1.Text = "تەكشۈرۈش(توغرا)"
- Button1.BackColor = Color.Green
- Else
- Button1.Text = "تەكشۈرۈش(خاتالىق بار)"
- Button1.BackColor = Color.Red
- End If
- Else
- TextBox2.Clear()
- TextBox3.Clear()
- TextBox4.Clear()
- TextBox5.Clear()
- Button1.Text = "تەكشۈرۈش"
- Button1.BackColor = SystemColors.Control
- MsgBox("كىرگۈزگىنىڭىز خاتا بولۇپ قالدى.")
- End If
- Else
- TextBox2.Clear()
- TextBox3.Clear()
- TextBox4.Clear()
- TextBox5.Clear()
- Button1.Text = "تەكشۈرۈش"
- Button1.BackColor = SystemColors.Control
- MsgBox("كىملىك نومۇرىڭىزنى كىرگۈزۈڭ")
- End If
مەزمۇننى كۆچۈرۈۋېلىش
ئۈستىدىكى كودتىكى ئادرېسنى ئېلىش ئۈچۈن بىزدە بارلىق رايۇنلارنىڭ ماس نومۇرى بولىشى كېرەك. تۆۋەندە بېرىلگەن مىسال كودتا شىنجاڭ ئىچىدىكى رايۇنلارنىڭ نومۇرى ۋە ماس ئۇيغۇرچە-خەنزۇچە يەر نام ساندانى بېرىلدى.
قېنى سىزمۇ سىناپ بىقىڭ.
پىروگىراممىغا قىزىقىدىغانلار ئاستىدىكى چىپار كود(ئىككىلىك كود)نى سايىلەپ ياكى «شەرەر»، «xarar_09» دەپ ئىزدىتىپ شەرەر سالونىنى قىتىۋالساڭلار بولىدۇ.
مەنبە: شەرەر تورى |