PDA

View Full Version : سوال: چک کردن کد ملی



mobtadi_narm
سه شنبه 21 مهر 1388, 11:59 صبح
چطور می تونم کد ملی طرف را چک کنم؟:متفکر:

payamsp
سه شنبه 21 مهر 1388, 12:50 عصر
براي اين طور كارها معمولا از regex يا همون regualr experssion استفاده ميشه .

ahmadbadpey
سه شنبه 21 مهر 1388, 15:42 عصر
اگه واقعا تشخیص اعتبار کد ملی براتون مهمه موضوع پیچیده تر از این حرفاست .
این مقاله رو مطالعه بفرمایید ...
http://itcom.pnuab.ac.ir/news.php?id=44&cat=11

ahmadflasher
پنج شنبه 23 مهر 1388, 06:10 صبح
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>code meli validator</title>
<script>

function IsCodemeli(value) {
var r=0;
var n=0;
var c=0;
var msg=document.getElementById('msg');
msg.innerHTML="";

if (value.length <10){
msg.innerHTML="طول کد ملی وارد شده باید 10 کاراکتر باشد ";
return false;
}
else if (value.length == 10) {
if (value == '1111111111' || value == '0000000000' || value == '2222222222' || value == '3333333333' || value == '4444444444' || value == '5555555555' || value == '7777777777' || value == '8888888888' || value == '9999999999')
msg.innerHTML="کد ملی وارد شده اشتباه است";
}
else if (value.charAt(0) == '0' && value.charAt(1) == '0' && value.charAt(2) == '0' && value.charAt(3) == '0' && value.charAt(4) == '0' && value.charAt(5) == '0' && value.charAt(6) == '0')
msg.innerHTML="کد ملی وارد شده اشتباه است";

c = parseInt(value.charAt(9));
for (i=1; i<=9; i++){
n= n + parseInt(value.charAt(i-1) * (11-i));
}
r = parseInt(n % 11);
if ((r <2 && r == c) || (r > 2 && c == 11 - r)){
msg.innerHTML="کد ملی وارد شده صحیح است";
return true;
}
else
msg.innerHTML="کد ملی وارد شده اشتباه است";

}

</script>
</head>
<body>
<p> Enter National Code:
<input name="codeMeli" type="text" maxlength="10" id="codeMeli" style="width: 100px; " />
<div id="msg" style="font-family:tahoma; font-size:12px; color:#FF0000; text-align: center;"></div>
</p>
<label>
<input name="check" type="submit" id="check" value="check" onclick="return IsCodemeli(document.getElementById('codeMeli').val ue);" />
</label>
<p><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</p>
<p><br>
<br>
<br>
<center>
&copy WeB2Fa.Com - Author :<a href="nobody.2021@gmail.com"> A:N</a> - 2009
</p>
</body>
</html>

soltan2010
یک شنبه 22 آذر 1388, 01:18 صبح
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>code meli validator</title>
<script>

function IsCodemeli(value) {
var r=0;
var n=0;
var c=0;
var msg=document.getElementById('msg');
msg.innerHTML="";

if (value.length <10){
msg.innerHTML="طول کد ملی وارد شده باید 10 کاراکتر باشد ";
return false;
}
else if (value.length == 10) {
if (value == '1111111111' || value == '0000000000' || value == '2222222222' || value == '3333333333' || value == '4444444444' || value == '5555555555' || value == '7777777777' || value == '8888888888' || value == '9999999999')
msg.innerHTML="کد ملی وارد شده اشتباه است";
}
else if (value.charAt(0) == '0' && value.charAt(1) == '0' && value.charAt(2) == '0' && value.charAt(3) == '0' && value.charAt(4) == '0' && value.charAt(5) == '0' && value.charAt(6) == '0')
msg.innerHTML="کد ملی وارد شده اشتباه است";

c = parseInt(value.charAt(9));
for (i=1; i<=9; i++){
n= n + parseInt(value.charAt(i-1) * (11-i));
}
r = parseInt(n % 11);
if ((r <2 && r == c) || (r > 2 && c == 11 - r)){
msg.innerHTML="کد ملی وارد شده صحیح است";
return true;
}
else
msg.innerHTML="کد ملی وارد شده اشتباه است";

}

</script>
</head>
<body>
<p> Enter National Code:
<input name="codeMeli" type="text" maxlength="10" id="codeMeli" style="width: 100px; " />
<div id="msg" style="font-family:tahoma; font-size:12px; color:#FF0000; text-align: center;"></div>
</p>
<label>
<input name="check" type="submit" id="check" value="check" onclick="return IsCodemeli(document.getElementById('codeMeli').val ue);" />
</label>
<p><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</p>
<p><br>
<br>
<br>
<center>
&copy WeB2Fa.Com - Author :<a href="nobody.2021@gmail.com"> A:N</a> - 2009
</p>
</body>
</html>



کار میکنه
دستت درد نکنه

mina_ghorbani
شنبه 21 مرداد 1391, 11:52 صبح
این function خیلی خوبه اما اگر یه regulare expression بود خیلی بهتر می شد

pejman_view
شنبه 21 مرداد 1391, 21:53 عصر
سلام

طبق آن چیزی که از فرمول صحت کد ملی یادم هست،متاسفانه امکان ساختن regular expression وجود ندارد.

با آرزوی موفقیت

farhadfery
یک شنبه 22 مرداد 1391, 12:46 عصر
اقا قبلا یه بچه ها کلاسش رو نوشته بود . اما یادم نیست که کی بود. تو گوگل سرچ کنید. گیر می یاد

farhadfery
یک شنبه 22 مرداد 1391, 12:49 عصر
بیا عزیز. پیداش کردم:
http://tuts.zanjanlug.org/% (http://tuts.zanjanlug.org/%D8%A7%D8%B9%D8%AA%D8%A8%D8%A7%D8%B1-%D8%B3%D9%86%D8%AC%DB%8C-%DA%A9%D8%A7%D8%B1%D8%AA-%D9%85%D9%84%DB%8C/)

pejman_view
یک شنبه 22 مرداد 1391, 21:05 عصر
با سلام
همانطور که گفتم و در این کلاس هم می بینید هیچکدام بر اساس regex کار نمی کنه. اما نگاهش کردم بنظر اصولش رو رعایت کرده بود.

با ارزوی موفقیت

prosoft01
شنبه 21 فروردین 1395, 14:12 عصر
طبق خبر اعلام شده در لینک زیر اعداد یکسان برای کد ملی نامعتبر نیست
http://www.fardanews.com/fa/news/127747

aaaaaaaa1
شنبه 21 فروردین 1395, 14:30 عصر
دوست عزیز خدمتون با این کد میتونید صحت کد ملی رو مورد بررسی قرار بدید.


function checkCodeMeli(code)
{

var L=code.length;

if(L<8 || parseInt(code,10)==0) return false;
code=('0000'+code).substr(L+4-10);
if(parseInt(code.substr(3,6),10)==0) return false;
var c=parseInt(code.substr(9,1),10);
var s=0;
for(var i=0;i<9;i++)
s+=parseInt(code.substr(i,1),10)*(10-i);
s=s%11;
return (s<2 && c==s) || (s>=2 && c==(11-s));
return true;
}

function check()
{
var c=document.getElementById("mellicode").value;
if( checkCodeMeli(c))
$('#tick').show().animate();

else
alert("کد ملی صحت ندارد");

$("#result").html('<input type="hidden" id="chekemelli" name="chekemelli" value="0">');
return false;

}

Farshid007
یک شنبه 22 فروردین 1395, 13:40 عصر
دوست عزیز خدمتون با این کد میتونید صحت کد ملی رو مورد بررسی قرار بدید.


function check()
{
var c=document.getElementById("mellicode").value;
if( checkCodeMeli(c))
$('#tick').show().animate();

else
alert("کد ملی صحت ندارد");

$("#result").html('<input type="hidden" id="chekemelli" name="chekemelli" value="0">');
return false;

}

خوب تابع checkCodeMeli چی میشه پس؟؟؟ کجا تعریف شده؟؟؟ :متفکر:

aaaaaaaa1
دوشنبه 23 فروردین 1395, 04:57 صبح
خوب تابع checkCodeMeli چی میشه پس؟؟؟ کجا تعریف شده؟؟؟ :متفکر:

پوزش یادم رفتن
این کد :

function checkCodeMeli(code)
{

var L=code.length;

if(L<8 || parseInt(code,10)==0) return false;
code=('0000'+code).substr(L+4-10);
if(parseInt(code.substr(3,6),10)==0) return false;
var c=parseInt(code.substr(9,1),10);
var s=0;
for(var i=0;i<9;i++)
s+=parseInt(code.substr(i,1),10)*(10-i);
s=s%11;
return (s<2 && c==s) || (s>=2 && c==(11-s));
return true;
}