نمایش نتایج 1 تا 12 از 12

نام تاپیک: صحت درست بودن کد ملی با جاوا اسکریپت

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    Question صحت درست بودن کد ملی با جاوا اسکریپت

    یک کد در پیدا کردم که با اون میشه کد ملی رو چک کرد اما مشکلم اینه که میخوام به کد دیگه ای ادقامش کنم اما نمیدونم چطوری ؟

    کد چک کردن کد ملی:

    <script type="text/javascript">
    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), 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));
    }
    </script>
    <script type="text/javascript">
    function checkMelliCode(meli_code)
    {
    if (meli_code.length == 10)
    {
    if(meli_code=='1111111111' || meli_code=='2222222222' || meli_code=='3333333333' || meli_code=='4444444444' || meli_code=='5555555555' || meli_code=='6666666666' || meli_code=='7777777777' || meli_code=='8888888888' || meli_code=='9999999999' )
    {
    alert(11);
    }else{
    c = parseInt(meli_code.charAt(9));
    n = parseInt(meli_code.charAt(0))*10 + parseInt(meli_code.charAt(1))*9 + parseInt(meli_code.charAt(2))*8 + parseInt(meli_code.charAt(3))*7 + parseInt(meli_code.charAt(4))*6 + parseInt(meli_code.charAt(5))*5 + parseInt(meli_code.charAt(6))*4 + parseInt(meli_code.charAt(7))*3 + parseInt(meli_code.charAt(8))*2;
    r = n - parseInt(n/11)*11;
    if ((r == 0 && r == c) || (r == 1 && c == 1) || (r > 1 && c == 11 - r))
    {
    alert('کد ملی صحیح می باشد');
    }
    else
    {
    alert('کد ملی وارد شده معتبر نمی باشد');
    }
    }
    }

    }
    </script>
    </head>
    <body>
    <font color="red" style="cursor:pointer;" onclick="checkMelliCode('1234567891');">show</font>
    </body>
    </html>


    کد خودم رو به صورت زیر نوشتم اما 2 تا مشکل وجود داره
    1- اگر عدد های وارد شده در تکسباکس کمتر از 10 رقم باشده کد اجرا نمیشه
    2- وقتی که کد 10 رقمی وارد میشه و معتبر نیست پیغام خطا به نمایش در می آید اما عملیات متوقف نمیشه و اطلاعات به دیتابیس ارسال میشه

    function validateForm(){
    var field = document.forms["form1"]["textfield1"].value;
    if (document.getElementById('textfield1').value == ''){
    document.getElementById('name-error').innerHTML = 'نام و نام خانوادگی مالک کالا را وارد نمایید';
    return false;
    }
    else{
    document.getElementById('name-error').innerHTML = '';
    }
    if(document.getElementById('textfield2').value == ''){
    document.getElementById('melli-error').innerHTML = 'کد ملی مالک کالا را وارد نمایید!';
    return false;
    }
    else{
    document.getElementById('melli-error').innerHTML = '';
    }
    if(document.getElementById('textfield4').value == ''){
    document.getElementById('tel-error').innerHTML = 'لطفا تلفن ثابت را وارد نمایید';
    return false;
    }
    else{
    document.getElementById('tel-error').innerHTML = '';
    }
    if(document.getElementById('textfield5').value == ''){
    document.getElementById('mobil-error').innerHTML = 'لطفا تلفن همراه را وارد نمایید';
    return false;
    }
    else{
    document.getElementById('mobil-error').innerHTML = '';
    }
    if(document.getElementById('textfield6').value == ''){
    document.getElementById('post-error').innerHTML = 'لطفا کد پستی را وارد نمایید';
    return false;
    }
    else{
    document.getElementById('post-error').innerHTML = '';
    }
    if(document.getElementById('textfield7').value == ''){
    document.getElementById('address-error').innerHTML = 'لطفا آدرس مالک کالا را وارد نمایید';
    return false;
    }
    else{
    document.getElementById('address-error').innerHTML = '';
    }
    email=document.form1.textfield3.value;
    var atpos=email.indexOf("@");
    var dotpos=email.lastIndexOf(".");
    if(email!="")
    {
    if(atpos<1||dotpos<atpos+2||dotpos +2>=x.length)
    {
    document.getElementById('mail-error').innerHTML ="لطفا ايميل آدرس را صحيح وارد كنيد";
    return false;
    }
    }
    else{
    document.getElementById('mail-error').innerHTML = '';
    }

    meli_code=document.form1.textfield2.value;
    if (meli_code.length == 10)
    {
    if(meli_code=='1111111111' || meli_code=='2222222222' || meli_code=='3333333333' || meli_code=='4444444444' || meli_code=='5555555555' || meli_code=='6666666666' || meli_code=='7777777777' || meli_code=='8888888888' || meli_code=='9999999999' )
    {
    alert(11);
    }else{
    c = parseInt(meli_code.charAt(9));
    n = parseInt(meli_code.charAt(0))*10 + parseInt(meli_code.charAt(1))*9 + parseInt(meli_code.charAt(2))*8 + parseInt(meli_code.charAt(3))*7 + parseInt(meli_code.charAt(4))*6 + parseInt(meli_code.charAt(5))*5 + parseInt(meli_code.charAt(6))*4 + parseInt(meli_code.charAt(7))*3 + parseInt(meli_code.charAt(8))*2;
    r = n - parseInt(n/11)*11;
    if ((r == 0 && r == c) || (r == 1 && c == 1) || (r > 1 && c == 11 - r))
    {
    document.getElementById('melli-error').innerHTML ="";
    }
    else
    {
    document.getElementById('melli-error').innerHTML ="کد ملی وارد شده معتبر نمی باشد";
    }
    }
    }

    }

    آخرین ویرایش به وسیله hamidhassas : شنبه 10 فروردین 1392 در 21:55 عصر

تاپیک های مشابه

  1. بررسی صحت کد ملی در جاوا اسکریپت
    نوشته شده توسط erfannew در بخش JavaScript و Framework های مبتنی بر آن
    پاسخ: 14
    آخرین پست: شنبه 26 مهر 1393, 10:37 صبح
  2. فعال بودن یا نبودن جاوا اسکریپت روی مرورگر
    نوشته شده توسط emad_67 در بخش ASP.NET Web Forms
    پاسخ: 10
    آخرین پست: جمعه 17 آبان 1387, 11:12 صبح
  3. فعال بودن جاوا اسکریپت
    نوشته شده توسط black2 در بخش PHP
    پاسخ: 5
    آخرین پست: پنج شنبه 14 شهریور 1387, 05:40 صبح
  4. فعال بودن جاوا اسکریپت
    نوشته شده توسط black2 در بخش طراحی وب (Web Design)
    پاسخ: 4
    آخرین پست: چهارشنبه 13 شهریور 1387, 12:10 عصر
  5. نحوه درست کردن منو در جاوا اسکریپت
    نوشته شده توسط near_86 در بخش طراحی وب (Web Design)
    پاسخ: 1
    آخرین پست: پنج شنبه 10 خرداد 1386, 08:23 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •