דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. בדיקת תקינות מספר תעודת זהות באמצעות PHP

בדיקת תקינות מספר תעודת זהות באמצעות PHP

מתוזמן נעוץ נעול הועבר תכנות
11 פוסטים 5 כותבים 1.9k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • י מנותק
    י מנותק
    יוס
    כתב ב נערך לאחרונה על ידי
    #1

    היכן ניתן למצוא קוד לבדיקת תקינות מספר תעודת זהות באמצעות PHP

    תודה

    מערכת מכירות בכל ערוצי המכירה, טלפון-מייל-ואתר
    שיגור הודעות במחירים המשתלמים ביותר
    לפתיחת מערכת https://app.ipsales.co.il/

    תגובה 1 תגובה אחרונה
    0
    • nachN מנותק
      nachN מנותק
      nach
      כתב ב נערך לאחרונה על ידי nach
      #2

      @יוס אני יכול להביא כאן את חוק האימות (שיטת הבדיקה) או קוד של זה בVB, יעזור לך? תוכל לעשות מזה בעצמך לPHP, החוק הוא אותו חוק, השאלה אם תסתדר עם זה,

      תגובה 1 תגובה אחרונה
      1
      • nachN מנותק
        nachN מנותק
        nach
        כתב ב נערך לאחרונה על ידי nach
        #3

        עשית גוגל? יש המון! הנה אחד:

        <?php
        
        // DEFINE RETURN VALUES
        define(R_ELEGAL_INPUT, -1);
        define(R_NOT_VALID, -2);
        define(R_VALID, 1);
        
        function ValidateID($str)
        {
           //Convert to string, in case numeric input
           $IDnum = strval($str);
        
           //validate correct input
           if(! ctype_digit($IDnum)) // is it all digits
              return R_ELEGAL_INPUT;
           if((strlen($IDnum)>9) || (strlen($IDnum)<5))
              return R_ELEGAL_INPUT;
        
           //If the input length less then 9 and bigger then 5 add leading 0
           while(strlen($IDnum<9)
           {
              $IDnum = '0'.$IDnum;
           }
        
           $mone = 0;
           //Validate the ID number
           for($i=0; $i<9; $i++)
           {
              $char = mb_substr($IDnum, $i, 1);
              $incNum = intval($char);
              $incNum*=($i%2)+1;
              if($incNum > 9)
                 $incNum-=9;
              $mone+= $incNum;
           }
        
           if($mone%10==0)
              return R_VALID;
           else
              return R_NOT_VALID;
        }
        ?>
        

        מכאן, יש בעיות בקוד הזה (אני חסר ידע בPHP אבל לא צריך להיות גאון כדי להבין שחסר סוגר מסולסל אחרי הקטע שמוסיף 0, )אבל תוכל לערוך אותו ולבנות על הבסיס, בהצלחה!

        תגובה 1 תגובה אחרונה
        2
        • dovidD מחובר
          dovidD מחובר
          dovid ניהול
          כתב ב נערך לאחרונה על ידי
          #4

          תקינות מס' זהות מושגת ע"י ספרת הביקורת, שזה הספרה האחרונה.
          יצירת ובדיקת ספרת הביקורת נעשית ע"י אלגוריתם לוהן, ולכן אין טעם לחפש בעברית, כי יש תשובות טובות בהרבה כמחפשים באופן רחב יותר:

          php Luhn algorithm

          והתוצאות, תוצאה ראשונה

          https://gist.github.com/troelskn/1287893

          והנה טסט:

          http://sandbox.onlinephpfunctions.com/code/3740543c6dde8c11db9f24362f9552da20ded960

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          תגובה 1 תגובה אחרונה
          5
          • י מנותק
            י מנותק
            יוס
            כתב ב נערך לאחרונה על ידי יוס
            #5

            מצאתי את זה

            תודה לכולם

            
            function ValidID($id) {
                if(strlen($id) == 9 && CheckDigit(substr($id, 0, 8)) == $id[8])
                    return TRUE;
            //		print = 'ok';
                else
            	//	print 'erorr';
                    return FALSE;
            }
            
            function CheckDigit($id) {
                for($i = 0; $i < strlen($id); $i++)
                    if($i % 2 != 0)
                        $Sum .= $id[$i] * 2;
                    else
                        $Sum .= $id[$i];
            
                for($i = 0; $i <= strlen($Sum)-1; $i++)
                    $Digit = $Digit + $Sum[$i];
            
                return ( $Digit % 10 > 0 ? 10 - ($Digit % 10) : 0);
            }
            
            		if('123456789' && ValidID('123456789') > 0){
            }
            

            מערכת מכירות בכל ערוצי המכירה, טלפון-מייל-ואתר
            שיגור הודעות במחירים המשתלמים ביותר
            לפתיחת מערכת https://app.ipsales.co.il/

            dovidD WWWW 2 תגובות תגובה אחרונה
            1
            • dovidD מחובר
              dovidD מחובר
              dovid ניהול
              השיב ליוס ב נערך לאחרונה על ידי dovid
              #6

              @יוס כלומר מה שהיה פה לא עזר לך?
              ופעם הבאה לחכות שתמצא או לעזור מייד?

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              תגובה 1 תגובה אחרונה
              5
              • WWWW מנותק
                WWWW מנותק
                WWW
                השיב ליוס ב נערך לאחרונה על ידי
                #7

                @יוס הקוד לא כ"כ נכון, יש מספרי זהות שהם פחות מ9 ספרות.

                WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                A0533057932A תגובה 1 תגובה אחרונה
                0
                • A0533057932A מנותק
                  A0533057932A מנותק
                  A0533057932
                  השיב לWWW ב נערך לאחרונה על ידי
                  #8

                  @WWW יש להם 0 בהתחלה

                  WWWW תגובה 1 תגובה אחרונה
                  0
                  • WWWW מנותק
                    WWWW מנותק
                    WWW
                    השיב לA0533057932 ב נערך לאחרונה על ידי WWW
                    #9

                    @A0533057932 אמר בבדיקת תקינות מספר תעודת זהות באמצעות PHP:

                    @WWW יש להם 0 בהתחלה

                    מי אמר?
                    צריך להוסיף אפסים בתחילת הקוד, אם רוצים לבדוק ככה.

                    WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                    A0533057932A תגובה 1 תגובה אחרונה
                    0
                    • A0533057932A מנותק
                      A0533057932A מנותק
                      A0533057932
                      השיב לWWW ב נערך לאחרונה על ידי A0533057932
                      #10

                      @WWW אתה עונה לי?
                      אני אמרתי שאין דבר כזה ת.ז. פחות מ9 ספרות ומה שאתה רואה פחות שמגיעים למקום שצריך אימות מוסיפים 0 בהתחלה
                      איך לרשום זאת בקוד שיוסיף 0 אוטומטי במידה ולא מילאו 9 אני לא יודע

                      dovidD תגובה 1 תגובה אחרונה
                      1
                      • dovidD מחובר
                        dovidD מחובר
                        dovid ניהול
                        השיב לA0533057932 ב נערך לאחרונה על ידי dovid
                        #11

                        @A0533057932 בגלל שאתה לא מתכנת לא הבנת את @WWW.
                        הוא טען שהקוד מניח הנחות (שהקלט/הפקיד הקפיד לשים אפסים קודם), וזה דבר לא טוב מבחינת תכנות, האמת בנוגע למס' הזהות לא קשורה פה.

                        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

                        תגובה 1 תגובה אחרונה
                        4
                        • dovidD dovid העביר נושא זה מ-תכנות ב-

                        בא תתחבר לדף היומי!
                        • התחברות

                        • אין לך חשבון עדיין? הרשמה

                        • התחברו או הירשמו כדי לחפש.
                        • פוסט ראשון
                          פוסט אחרון
                        0
                        • דף הבית
                        • קטגוריות
                        • פוסטים אחרונים
                        • משתמשים
                        • חיפוש
                        • חוקי הפורום