Prenumeruok RSS

Straipsniai sukurti 2005.11

Asmens kodas

Reikia patikrinti asmens kodo teisingumą? Manau šis dalykas jums pravers. Skanaus.

Algoritmas lietuviško asmens kodo (nuo 65 puslapio).

PHP, JavaScript versija pateikti nuo manęs, kiti buvo parodyti kaip komenarai senojoje blogo versijoje.

PHP

PHP - Copy Code

 1 <?

 2 /**

 3  * Tikrina ar asmens kodas

 4  *

 5  * @param string $s

 6  * @return bool

 7  */

 8 

 9 function ar_asmens_kodas($s) {

10   if (!is_numeric($s) || strlen($s)!=11) {

11     return false;

12   }

13   $d=0; $e=0; $b=1; $c=3;

14   for ($i=0;$i<10;$i++) {

15     $a=$s[$i];

16     $d=$d+($b*$a);

17     $e=$e+($c*$a);

18     $b++; if ($b==10) $b=1;

19     $c++; if ($c==10) $c=1;

20   }

21   $d=$d % 11;

22   $e=$e % 11;

23   if ($d==10) {

24     $i = ($e == 10) ? 0 : $e;

25   } else {

26       $i = $d;

27   }

28   return ($s[10]==$i) ? true : false;

29 }

30 

31 /**

32 * Butinai reikia paduotu stringa siam scriptui atveju, pvz

33 * ar_asmens_kodas('38011254123');

34 */

35 ?>

Javscript

Javascript – Copy Code

 1 function tikrinti_akoda(kodas) {

 2 var i,a,b,c,d,e;

 3 var s = new String(kodas);

 4     d=0;

 5     e=0;

 6     b=1;

 7     c=3;

 8     for (i=0;i<10;i++) {

 9         a=s.charAt(i);

10         d=d+(b*a);

11         e=e+(c*a);

12         b=b+1;

13         if (b==10)

14           b=1;

15         c=c+1;

16         if (c==10)

17             c=1;

18      }

19      d=d % 11;

20      e=e % 11;

21      if (d==10) {

22           if (e==10)

23             i=0;

24           else

25             i=e;

26      } else

27           i=d;

28      if (s.charAt(10)==i)

29          return true;

30      else

31          return false;

32 }

Perl

http://search.cpan.org/~kudarasp/Asmens-Kodas-0.02/lib/Asmens/Kodas.pm

MS SQL

Copy Code

 1 CREATE PROCEDURE asmensKodoTikrinimasSP

 2 (      @AsmensKodas bigint

 3 )

 4 AS

 5 BEGIN

 6   DECLARE @L  INTEGER,

 7             @M1 INTEGER,

 8             @M2 INTEGER,

 9             @M3 INTEGER,

10             @M4 INTEGER,

11             @D1 INTEGER,

12             @D2 INTEGER,

13             @R1 INTEGER,

14             @R2 INTEGER,

15             @R3 INTEGER,

16             @K  INTEGER,

17             @ATS BIT

18 

19     IF @AsmensKodas &gt; 10000000000

20     BEGIN

21          IF @AsmensKodas &lt; 69999999999

22          BEGIN

23               SET @L = @AsmensKodas / 10000000000

24               SET @AsmensKodas = @AsmensKodas - (10000000000 * @L)

25               SET @M1 = @AsmensKodas / 1000000000

26               SET @AsmensKodas = @AsmensKodas % 1000000000

27               SET @M2 = @AsmensKodas / 100000000

28               SET @AsmensKodas = @AsmensKodas % 100000000

29               SET @M3 = @AsmensKodas / 10000000

30               SET @AsmensKodas = @AsmensKodas % 10000000

31               SET @M4 = @AsmensKodas / 1000000

32               SET @AsmensKodas = @AsmensKodas % 1000000

33               SET @D1 = @AsmensKodas / 100000

34               SET @AsmensKodas = @AsmensKodas % 100000

35               SET @D2 = @AsmensKodas / 10000

36               SET @AsmensKodas = @AsmensKodas % 10000

37               SET @R1 = @AsmensKodas / 1000

38               SET @AsmensKodas = @AsmensKodas % 1000

39               SET @R2 = @AsmensKodas / 100

40               SET @AsmensKodas = @AsmensKodas % 100

41               SET @R3 = @AsmensKodas / 10

42               SET @AsmensKodas = @AsmensKodas % 10

43               SET @K = @AsmensKodas

44 

45               DECLARE @Suma INTEGER, @Liekana INTEGER

46               SET @Suma = @L * 1 + @M1 * 2 + @M2 * 3 + @M3 * 4 + @M4 * 5 +

47                          @D1 * 6 + @D2 * 7 + @R1 * 8 + @R2 * 9 + @R3 * 1

48               SET @Liekana = @Suma % 11

49               IF @Liekana &lt;&gt; 10

50               BEGIN

51                    IF @Liekana = @K

52                       SET @ATS = 1

53                    ELSE

54                       SET @ATS = 0

55               END

56               ELSE

57               BEGIN

58                    SET @Suma = @L * 3 + @M1 * 4 + @M2 * 5 + @M3 * 6 + @M4 * 7 +

59                               @D1 * 8 + @D2 * 9 + @R1 * 1 + @R2 * 2 + @R3 * 3

60                    SET @Liekana = @Suma % 11

61                    IF @Liekana &lt;&gt; 10

62                    BEGIN

63                       IF @Liekana = @K

64                          SET @ATS = 1

65                       ELSE

66                          SET @ATS = 0

67                    END

68                    ELSE

69                    BEGIN

70                         SET @Liekana = 0

71                         IF @Liekana = @K

72                            SET @ATS = 1

73                         ELSE

74                            SET @ATS = 0

75                    END

76               END

77          END

78          ELSE

79              SET @ATS = 0

80     END

81     ELSE

82         SET @ATS = 0

83 

84     SELECT @ATS

Kita

Na daugiau :) Dos versija

Task Freak – paprastas ir lengva darbų aplikacija

Turbūt ne vieną kartą esu ieškojęs Internete kažkio paprasto, ir malonaus projektų darbų sąrašo su taip vadinamais taskais.

Šiandien pavyko vieną tokį malonų surasti. Tikrai paprasta ir panašiai to ko ir norėjau. Kažkaip tingisi savo pasidaryti.

Reikalavimai:

PHP 4.4.3+, PHP 5
MySQL 3.23+, mySQL 4 or SQLite (PHP4+ext. or PHP5)
Mozilla, Firefox 1.0+, IE 5.0+, Opera 7.0+

Nemokamas

Sėkmes eksperimentuose…

Ai tiesa adresas www.taskfreak.com

PHP konferencija

Kagi įvyko 2-oji PHP konferencija, kurioje teko pakalbėti ir man :). Esu praktiškas žmogus nemėgstantis blevyzgų, tad kažkaip labai faktiškai ir pasakojau. Na jei kam patiko ir turite klausimėlių į kaikurius galėsius atsakyti, tik sukontaktuokite.

Mano skaityta tema apie komercine turinio valdyma SiteSupra. Ją galite patys išbandyti, paskaityti ir t.t www.sitesupra.com svetainėje.

SiteSupra veža mane, gal ir tau patiks?

Sėkmės.

Parsiųsti mano slaidus [5.236MB] (Žiauriai daug paveiklsiukų)

M$ IE security :)

Paleido klientas svetainė ant naujo serverio. Laikinai pavadino

http://test_do.domenas.lt

Sako neveikia prisijungimas. Na galvoju negali būti, testuoju. Ogi žiūriu Cookiai neveikia. Iškart idiotiškas klausimas kas per velnias? Paimi net paprasčiausia scriptuką iš manualo kad greičiau būtų… neveikia. Testavau ant IE išpradžių.. ten neveikė. Paleidau FireFox veikia :). Labai įdomiai. Pasirodo IE turi kreivą securiti požiūrį. Ignoruoja kai kurius domenus kaip nesaugius. Dėl to ir neveikė, nes pateiktas domenas nesaugus.

Dar vienas M$ idiotizmas. Pabandyti reiktų per MSN messenger pasiųsti linką www.scriptas.net, teoriskai neturėtų nueiti :)

Zend studio. Pasirašom peticija :)

Nežinau keik lietuvių naudoja Zend studio ir kiek yra jų pirkę (Bent firmose). Bet aš pastoviai susiduriu su Zend Studio problema… Encodinkai ir projektai. Mane knisa kai reikia keisti encodinga is UTF i windows-1257. Neduok dieve pamiršti pakeisti.. taip gali apgadinti failą.

Parašiau į forumą:
http://www.zend.com/phorum/read.php?num=7&id=4361&loc=0&thread=4361

Jei kas susiduriate su panašia problema, prašom pasirašyti, nes jau kitaip neišeina. Telieka spaminti kad suprastu kad čia vienas iš Kritinių taskų.

P.S nepykit už anglų klb klaidas forume.