PDA

View Full Version : validator برای ثبت کد ملی



sabagood
جمعه 25 آذر 1390, 00:35 صبح
سلام
من میخام برای کدملی validator داشته باشم و همه چیز کلاینت ساید هست و با ای جکس
چیا رو باید چک کنم ؟آخه من اصلا رنج کدهای ملی رو نمیدونم!
ممنون اگه کمکم کنین
asp.net Csharp

sobhan5968
جمعه 25 آذر 1390, 00:44 صبح
http://barnamenevis.org/showthread.php?247714-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%DA%A9%D9%86%DB%8C%D8%AF-!-%DA%86%DA%A9-%DA%A9%D8%B1%D8%AF%D9%86-%DA%A9%D8%AF-%D9%85%D9%84%DB%8C-%D8%A8%D9%87-%D8%B5%D9%88%D8%B1%D8%AA-%DB%8C%DA%A9-Validator
در این لینک یکی از دوستان یک ولیدیتور رو طراحی کردند برای همین کار .

NIK
جمعه 25 آذر 1390, 02:03 صبح
سلام


public static bool CheckCode(string Code)
{
Int64 temp = 0;
Code = Code.Replace(" ", "");

if (!Int64.TryParse(Code, out temp))
return false;

double c = 0;
double n = 0;
double r = 0;

if (Code.Length > 10)
return (false);
while (Code.Trim().Length < 10)
Code = "0" + Code;

if (Code == "0000000000" || Code == "1111111111" || Code == "2222222222" || Code == "3333333333" || Code == "4444444444" || Code == "5555555555" || Code == "6666666666" || Code == "7777777777" || Code == "8888888888" || Code == "9999999999")
{
return (false);
}
else
{
c = Convert.ToInt32(Code.Substring(9, 1));
int j = 10;
for (int i = 1; i <= 9; i++)
{
n = n + Convert.ToInt32(Code.Substring(i - 1, 1)) * j;
j = j - 1;
}
r = n - (int)Math.Floor(n / 11) * 11;
if ((r == 0 && r == c) | (r == 1 && c == 1) | (r > 1 && c == 11 - r))
{
return (true);
}
}
return false;

}


موفق باشید