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

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

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

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

מתוזמן נעוץ נעול הועבר תכנות
11 פוסטים 5 כותבים 1.9k צפיות 4 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • 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
          • י יוס

            מצאתי את זה

            תודה לכולם

            
            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){
            }
            
            dovidD מחובר
            dovidD מחובר
            dovid
            ניהול
            כתב ב נערך לאחרונה על ידי dovid
            #6

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

            • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
            • בכל נושא אפשר ליצור קשר dovid@tchumim.com
            תגובה 1 תגובה אחרונה
            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){
              }
              
              WWWW מנותק
              WWWW מנותק
              WWW
              כתב ב נערך לאחרונה על ידי
              #7

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

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

              A0533057932A תגובה 1 תגובה אחרונה
              0
              • WWWW WWW

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

                A0533057932A מנותק
                A0533057932A מנותק
                A0533057932
                כתב ב נערך לאחרונה על ידי
                #8

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

                WWWW תגובה 1 תגובה אחרונה
                0
                • A0533057932A A0533057932

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

                  WWWW מנותק
                  WWWW מנותק
                  WWW
                  כתב ב נערך לאחרונה על ידי WWW
                  #9

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

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

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

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

                  A0533057932A תגובה 1 תגובה אחרונה
                  0
                  • WWWW WWW

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

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

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

                    A0533057932A מנותק
                    A0533057932A מנותק
                    A0533057932
                    כתב ב נערך לאחרונה על ידי A0533057932
                    #10

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

                    dovidD תגובה 1 תגובה אחרונה
                    1
                    • A0533057932A A0533057932

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

                      dovidD מחובר
                      dovidD מחובר
                      dovid
                      ניהול
                      כתב ב נערך לאחרונה על ידי dovid
                      #11

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

                      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                      תגובה 1 תגובה אחרונה
                      4
                      • dovidD dovid העביר נושא זה מ-תכנות ב-
                      תגובה
                      • תגובה כנושא
                      התחברו כדי לפרסם תגובה
                      • מהישן לחדש
                      • מהחדש לישן
                      • הכי הרבה הצבעות


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

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

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