Programmering

Collapse
X
  •  
  • Time
  • Show
Clear All
new posts
  • Duke
    molto carne
    • Oct 2003
    • 5741

    #1

    Programmering

    Är det någon som kan lösa detta någorlunda snyggt med javascript?:

    Skapa en hemsida där man får fylla i ett personnummer förutom sista siffran. När man klickar på en knapp ”Visa” skall följande presenteras som text på sidan: Hela personnumret (kontrollsiffran skall alltså genereras), vilket kön personnumret indikerar samt vilket län som personen med det aktuella personnumret är född i. Om nästsista siffran i ett personnummer är jämnt så tillhör det en kvinna, om det är udda så tillhör det en man.
    http://sv.wikipedia.org/wiki/Personnummer - Beskriver hur resten av informationen är inkodad i ett personnummer.
    ________
    ____

  • Tornevall
    Developer Devil
    • Oct 2003
    • 22212
    • 🏛️ Owner

    #2
    Sv: Programmering

    Vet du vart i personnumret länskoden kommer in i bilden...? Det bör vara de två första siffrorna i kontrollkoden? (såvida jag inte jämfört mitt eget nummer fel)
    -

    Comment

    • Duke
      molto carne
      • Oct 2003
      • 5741

      #3
      Sv: Programmering

      Originally posted by TMM
      Vet du vart i personnumret länskoden kommer in i bilden...? Det bör vara de två första siffrorna i kontrollkoden? (såvida jag inte jämfört mitt eget nummer fel)
      jupp, det stämmer. Av de fyra sista så visar de två första (så att säga..) Länskoden, den tredje visar vilket kön, och den sista är enligt 212121etc kontrollberäkningen...
      ________
      ____

      Comment

      • Tornevall
        Developer Devil
        • Oct 2003
        • 22212
        • 🏛️ Owner

        #4
        Sv: Programmering

        Originally posted by Duke
        jupp, det stämmer. Av de fyra sista så visar de två första (så att säga..) Länskoden, den tredje visar vilket kön, och den sista är enligt 212121etc kontrollberäkningen...
        Alrajt.

        http://forum.tornevall.net/birth.php

        Bekräfta gärna om det funkar.

        (Snyggt vet jag dock inte om det är )
        -

        Comment

        • Duke
          molto carne
          • Oct 2003
          • 5741

          #5
          Sv: Programmering

          Nice!
          Jupp, det funkade. Och snyggt löst måste jag säga, utan genvägar i lösningen eller nåt. Jag är impad.
          ________
          ____

          Comment

          • Tornevall
            Developer Devil
            • Oct 2003
            • 22212
            • 🏛️ Owner

            #6
            Sv: Programmering

            Originally posted by Duke
            Nice!
            Jupp, det funkade. Och snyggt löst måste jag säga, utan genvägar i lösningen eller nåt. Jag är impad.
            Det är jag också, eftersom det är mitt första javascriptande om man bortser från BB05-chattens java-applet-modifikation.
            -

            Comment

            • Duke
              molto carne
              • Oct 2003
              • 5741

              #7
              Sv: Programmering

              Isåfall var det ännu mer kanonbra!
              ________
              ____

              Comment

              • Duke
                molto carne
                • Oct 2003
                • 5741

                #8
                Sv: Programmering

                Fast jag fick en lösning som var jäkligt kaxig.. Självklart efter att jag snyggat till den lite.. :

                <input type="text" id="pers_nr" value="" size="10" />
                <input type="button" id="check" value="Kontrollera personnummer" />
                <h5 id="last_nr"></h5>
                <h5 id="from"></h5>

                document.getElementById("check").onclick = function() {
                var pers_nr = document.getElementById("pers_nr").value;

                var pnr = Array();
                pnr = pers_nr.split("");

                var sum = 0;
                var n = 2;

                for (i=0; i<9; i++) {
                tmp = parseInt(pnr[i]) * n;
                (tmp > 9) ? sum += 1 + (tmp % 10) : sum += tmp;
                (n == 2) ? n = 1 : n = 2;
                }

                document.getElementById("last_nr").innerHTML = 10 - (sum % 10);

                var sex;
                (parseInt(pers_nr.substring(8,9))%2) ? sex = "Man" : sex = "Kvinna";
                var from_nr = parseInt(pers_nr.substring(6,8));
                var from;
                if (from_nr >= 35 && from_nr <= 38) from = "Kristianstads län";
                else if (from_nr >= 0 && from_nr <= 13) from = "Stockholms län";
                else if (from_nr >= 14 && from_nr <= 15) from = "Uppsala län";
                else from = "Något annat län...";
                document.getElementById("from").innerHTML = sex + " - " + from;
                }
                ________
                ____

                Comment

                • Tornevall
                  Developer Devil
                  • Oct 2003
                  • 22212
                  • 🏛️ Owner

                  #9
                  Sv: Programmering

                  Snyggt! Och mycket kortare än mitt
                  -

                  Comment

                  • Duke
                    molto carne
                    • Oct 2003
                    • 5741

                    #10
                    Sv: Programmering

                    Originally posted by TMM
                    Snyggt! Och mycket kortare än mitt
                    Jo, men i ärlighetens namn så tycker jag inte det behöver vara bättre eller snyggare per automatik. Ditt var mer pedagogiskt.
                    ________
                    ____

                    Comment

                    • Tornevall
                      Developer Devil
                      • Oct 2003
                      • 22212
                      • 🏛️ Owner

                      #11
                      Sv: Programmering

                      Originally posted by Duke
                      Jo, men i ärlighetens namn så tycker jag inte det behöver vara bättre eller snyggare per automatik. Ditt var mer pedagogiskt.
                      Fast det kan å andra sidan göra scriptet långsammare eftersom det går igenom allt steg för steg.
                      -

                      Comment

                      • Duke
                        molto carne
                        • Oct 2003
                        • 5741

                        #12
                        Sv: Programmering

                        Originally posted by TMM
                        Fast det kan å andra sidan göra scriptet långsammare eftersom det går igenom allt steg för steg.
                        Jovisst men inte nödvändigtvis pga fler rader kod. En hel del förkortningar och vissa loopar samt kontrollstrukturer översätts ändå till samma interna kod när den exekveras.
                        som t ex:
                        IF (a == b)
                        {
                        c = 1;
                        }
                        else
                        {
                        c = 2;
                        }
                        och
                        c = (a == b) ? 1 : 2;
                        exekveras likadant internt men den första kan vara lite mer överskådlig..


                        Men E=mc2 är ju en kaxigare formel... och bara på en rad...
                        ________
                        ____

                        Comment

                        • Tornevall
                          Developer Devil
                          • Oct 2003
                          • 22212
                          • 🏛️ Owner

                          #13
                          Sv: Programmering

                          Originally posted by Duke
                          Jovisst men inte nödvändigtvis pga fler rader kod. En hel del förkortningar och vissa loopar samt kontrollstrukturer översätts ändå till samma interna kod när den exekveras.
                          som t ex:
                          IF (a == b)
                          {
                          c = 1;
                          }
                          else
                          {
                          c = 2;
                          }
                          och
                          c = (a == b) ? 1 : 2;
                          exekveras likadant internt men den första kan vara lite mer överskådlig..


                          Men E=mc2 är ju en kaxigare formel... och bara på en rad...
                          Du kickar verkligen arsle med sånt där
                          -

                          Comment

                          Sorry, you are not authorized to view this page
                          Working...