با سلام خدمت تمامی دوستان
اعتبارسنجی کدملی با استفاده از عبارات باقاعده (Regular Expression) در Core
درست و نادرست بودن کدملی قبل از ذخیره در دیتابیس میخوام از این قابلیت استفاده کنم در Core
لطفا راهنمایی بفرمایید چجوری میتونم استفاده کنم
باتشکر از سایت پرس نت
کد ملی یه فرمول داره. بنابراین برای اینکه صحت کد ملی رو بررسی کنید باید شماره ملی رو در فرمول بذارید و ببینید درست هست یا نه. از عبارات با قاعده برای بررسی صحت فرمت رشته ها استفاده میشه نه برای پیاده سازی فرمول.
کد ملی یه رشته 10 کاراکتری هست که اگر بخواید توسط عبارات با قاعده بررسیش کنید باید بررسی کنید که یک رشته 10 کاراکتری داشته باشید که فقط هم شامل عدد هست. همین !
""^(?!(\d)\1{9})\d{10}$"
یا عبارت زیر هم میتونید استفاده کنید که فقط بررسی 10 رقمه بودن هست.
^([0-9]){10}$
try
{
char[] chArray = this.textBox1.Text.ToCharArray();
int[] numArray = new int[chArray.Length];
for (int i = 0; i < chArray.Length; i++)
{
numArray[i] = (int)char.GetNumericValue(chArray[i]);
}
int num2 = numArray[9];
switch (this.textBox1.Text)
{
case "0000000000":
case "1111111111":
case "22222222222":
case "33333333333":
case "4444444444":
case "5555555555":
case "6666666666":
case "7777777777":
case "8888888888":
case "9999999999":
MessageBox.Show("کد ملی وارد شده صحیح نمی باشد");
break;
}
int num3 = ((((((((numArray[0] * 10) + (numArray[1] * 9)) + (numArray[2] * 8)) + (numArray[3] * 7)) + (numArray[4] * 6)) + (numArray[5] * 5)) + (numArray[6] * 4)) + (numArray[7] * 3)) + (numArray[8] * 2);
int num4 = num3 - ((num3 / 11) * 11);
if ((((num4 == 0) && (num2 == num4)) || ((num4 == 1) && (num2 == 1))) || ((num4 > 1) && (num2 == Math.Abs((int)(num4 - 11)))))
{
MessageBox.Show("کد ملی صحیح می باشد");
}
else
{
MessageBox.Show("کد ملی نامعتبر است");
}
}
catch (Exception)
{
MessageBox.Show("لطفا یک عدد 10 رقمی وارد کنید");
}
فرمول کد ملی توی سی شارپ رو براتون قرار دادم. با کمی تغییرات به راحتی میتونید توی Asp هم استفاده کنید.
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
79
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
113
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1034
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
430
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4800
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
216
- پاسخ :
1
|
تاریخ :
1403/07/26
- ساعت :
09:00:00 PM
- بازدید :
117
- پاسخ :
0
|
تاریخ :
1403/05/16
- ساعت :
09:57:00 AM
- بازدید :
397
- پاسخ :
2
|
تاریخ :
1403/06/25
- ساعت :
11:39:00 PM
- بازدید :
568
- پاسخ :
1
|
تاریخ :
1401/02/24
- ساعت :
02:17:00 PM
- بازدید :
2013
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
79
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
113
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1034
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
430
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
931
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4800
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1161
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
599
- پاسخ :
1
|