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

    API לאימות מספר ת.ז.

    פורום PHP
    8
    16
    897
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • E
      eliyahu ניהול @ג'ון סמית נערך לאחרונה על ידי

      @ג-ון-סמית לא הבנתי למה צריך את זה אם יש את הערך השישי (שאפשר להגדיר שם TeudatZehut)

      ג פ 2 תגובות תגובה אחרונה תגובה ציטוט 2
      • ג
        ג'ון סמית @eliyahu נערך לאחרונה על ידי

        @eliyahu
        זה לאו דווקא לapi דרך קו אלא גם לאנשים שרוצים לעשות את זה דרך אתר

        תגובה 1 תגובה אחרונה תגובה ציטוט 0
        • פ
          פיסטוק פרווה מומחה @eliyahu נערך לאחרונה על ידי

          @eliyahu
          בנוסף האימות ת.ז. של ימות עובד על פי תרגיל מסויים ככה שאפשר לעבוד עליו,
          לדוג' בשל ימות תוכל להכניס ת.ז. 326666666 וזה יהיה תקין!!

          E תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • E
            eliyahu ניהול @פיסטוק פרווה נערך לאחרונה על ידי

            @פיסטוק-פרווה
            יש לך טעות בהבנה איך זה עובד
            הבדיקה האם תז תקינה או לא זה לא מול מאגר של מספרי זהות אלא זה עובד כך
            בכל תז הספרה האחרונה היא "ספרת ביקורת".
            כלומר, המספר המקורי של תעודת הזהות הוא ללא הספרה האחרונה. הספרה האחרונה היא תוספת על המספר המקורי. וזה בשביל לבדוק שהמספר באמת תקין.
            יש כלל שקובע על כל מספר מה הספרה האחרונה שיכולה להיות לו
            אם למשל המספר המקורי הוא 22222222 אז הספרה האחרונה חייבת להיות 2.
            כך שמי שיקיש 222222223 ישמע "תז שהקשתם אינה תקינה"

            פ תגובה 1 תגובה אחרונה תגובה ציטוט 1
            • פ
              פיסטוק פרווה מומחה @eliyahu נערך לאחרונה על ידי

              @eliyahu
              נכון, וזה מה שהתכוונתי התרגיל הוא תרגיל לבדיקת ספרת הביקורת אם היא נכונה.
              הבעייה זה שאפשר להקיש ת.ז. שאיננה קיימת כמו 774770770 והיא תהיה תקינה כי ספרת הביקורת שלה תקינה...

              E תגובה 1 תגובה אחרונה תגובה ציטוט 0
              • E
                eliyahu ניהול @פיסטוק פרווה נערך לאחרונה על ידי

                @פיסטוק-פרווה אני לא מכיר מישהו (חוץ ממשרד הפנים) שיש לו דרך לבדוק על תז אם היא קיימת

                פ L 2 תגובות תגובה אחרונה תגובה ציטוט 2
                • פ
                  פיסטוק פרווה מומחה @eliyahu נערך לאחרונה על ידי

                  @eliyahu
                  בזה אולי אתה צודק, רק שלפי איך שזה נראה אין היום ת.ז. בישראל מעל 330000000

                  מ תגובה 1 תגובה אחרונה תגובה ציטוט 0
                  • מ
                    מנסה מומחה @פיסטוק פרווה נערך לאחרונה על ידי

                    @פיסטוק-פרווה

                    אבל יש מספר תושב של כל העולים מחו"ל שלא עשו אזרחות [אלפי משפחות חרדיות כאלה יש] וזה מתחיל ב700000000 וגם מספרי ביטוח לאומי שהנ"ל שמתחילים ב500000000
                    וכל אלו אם לא תיתן להכניס מספר מעל 33000000 הם לא יצליחו להיכנס

                    [אגב, ת.ז. יש גם בקידומת 340000000

                    תגובה 1 תגובה אחרונה תגובה ציטוט 0
                    • L
                      Liy @eliyahu נערך לאחרונה על ידי

                      פוסט זה נמחק!
                      E תגובה 1 תגובה אחרונה תגובה ציטוט 0
                      • E
                        eliyahu ניהול @Liy נערך לאחרונה על ידי

                        @liy קראת את מה שכתוב בלינק שהבאת?

                        תגובה 1 תגובה אחרונה תגובה ציטוט 2
                        • B
                          bc98400 נערך לאחרונה על ידי bc98400

                          מי שרוצה זה קוד שבודק את התעודת זהות האם תקין
                          ב php

                          <?php
                            $id = $_GET["id"];
                            
                            $the_id = str_split($id);
                            for ($i=9; count($the_id) < $i;) { 
                              array_unshift($the_id,0);
                            }
                            $plus = 1;
                            $all = 0;
                            for ($i=0; $i < 9; $i++) { 
                              $sum = $the_id[$i] * $plus;
                              if($sum > 9){
                                $a = str_split($sum);
                                $al = $a[0] + $a[1];
                                $sum = $al;
                              }
                              $all += $sum;
                              if ($plus == 1) {
                                $plus = 2;
                              } else {
                                $plus = 1;
                              }
                            }
                            $o = $all % 10;
                            if ($o == 0) {
                              $ok = "its ok";
                            }else{
                              $ok = "wooops";
                            }
                            echo $ok;
                          
                          
                          ?>
                          

                          ב javascript

                          <!DOCTYPE html>
                          <html lang="he">
                          
                          <head>
                            <meta charset="UTF-8" />
                            <meta name="viewport" content="width=device-width, initial-scale=1.0" />
                            <title>Document</title>
                            <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
                            <script type="text/javascript">
                              function LegalTz() {
                                var id = document.getElementById("input").value;
                                var id_ = Array.from(String(id), Number);
                                for (let index = 9; id_.length < index;) {
                                  id_.unshift(0);
                                }
                                var myBol = true;
                                var sum = 0;
                                var zzz;
                                for (let i = 0; i < id_.length; i++) {
                                  if (myBol == true) {
                                    zzz = id_[i] * 1;
                                    myBol = false;
                                  } else {
                                    zzz = id_[i] * 2;
                                    myBol = true;
                                  }
                                  if (zzz > 9) {
                                    var ss = Array.from(String(zzz.toString()), Number);
                                    zzz = ss[0] + ss[1];
                                  }
                                  sum = sum + zzz;
                                }
                                if (sum % 10 > 0) {
                                  $(".dd").css("background-color", "red");
                                } else {
                                  $(".dd").css("background-color", "green");
                                }
                              }
                            </script>
                            <style>
                              .dd {
                                height: 40px;
                                width: 60px;
                              }
                            </style>
                          </head>
                          
                          <body>
                            <input id="input" type="number" />
                            <button onclick="LegalTz()">בדוק</button>
                            <div class="dd"></div>
                          </body>
                          
                          </html>
                          
                          ש תגובה 1 תגובה אחרונה תגובה ציטוט 3
                          • ש
                            שואל ברצינות @bc98400 נערך לאחרונה על ידי שואל ברצינות

                            @bc98400 איתגרת אותי לכתוב את זה קצר יותר ב-PHP:

                            <?php
                              $count = 0;
                              foreach( str_split( str_pad( $_GET["id"], 9 , '0', STR_PAD_LEFT ) ) as $k => $v ){
                                  $count += $v > 8 ? $v : ($v * ( $k % 2 ? 2 : 1 )) % 9;
                              }
                            
                              echo $count % 10 ? 'no' : 'ok';
                            
                            תגובה 1 תגובה אחרונה תגובה ציטוט 2
                            • פוסט ראשון
                              פוסט אחרון