Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Incalzire casa fara gaz/lemne

Incalzire in pardoseala etapizata

Suprataxa card energie?!

Cum era nivelul de trai cam din a...
 probleme cu ochelarii

Impozite pe proprietati de anul v...

teava rezistenta panou apa calda

Acces in Curte din Drum National
 Sub mobila de bucatarie si sub fr...

Rezultat RMN

Numar circuite IPAT si prindere t...

Pareri brgimportchina.ro - teapa ...
 Lucruri inaintea vremurilor lor

Discuții despre TVR Sport HD.

Cost abonament clinica privata

Tremura toata, dar nu de la ro...
 

Javascript - verificare CNP

- - - - -
  • Please log in to reply
24 replies to this topic

#19
Mr_Woppit

Mr_Woppit

    the last of them..

  • Grup: Super Moderators
  • Posts: 17,834
  • Înscris: 26.11.2001
scrie in primul post algoritmul

#20
claudius

claudius

    New Member

  • Grup: Members
  • Posts: 4
  • Înscris: 04.07.2003
Am facut si eu o procedura de verificare pt verificare CNP in fox
Aveti si verificari pe ani pt SEX:

CLEAR
SET CENT ON
SET DATE TO ITALIAN        && OBLIGATORIU
WCNP = '             '
@ 6, 17 say 'CNP : ' GET WCNP PICTURE '@! xxxxxxxxxxxxx' VALID VERCNP(WCNP)
READ

*
FUNCTION VERCNP
PARAMETER LCCNP
PRIVATE LAC, LAPO
IF WCNP=='             '
  RETURN .T.
ENDIF
DIMENSION LAC( 13), LAPO( 12)
PRIVATE LNCC, I, DA1, DA2, DA3
WF = .T.
LAC( 1) = SUBSTR(LCCNP, 1, 1)
LAPO( 1) = 2
LAC( 2) = SUBSTR(LCCNP, 2, 1)
LAPO( 2) = 7
LAC( 3) = SUBSTR(LCCNP, 3, 1)
LAPO( 3) = 9
LAC( 4) = SUBSTR(LCCNP, 4, 1)
LAPO( 4) = 1
LAC( 5) = SUBSTR(LCCNP, 5, 1)
LAPO( 5) = 4
LAC( 6) = SUBSTR(LCCNP, 6, 1)
LAPO( 6) = 6
LAC( 7) = SUBSTR(LCCNP, 7, 1)
LAPO( 7) = 3
LAC( 8) = SUBSTR(LCCNP, 8, 1)
LAPO( 8) = 5
LAC( 9) = SUBSTR(LCCNP, 9, 1)
LAPO( 9) = 8
LAC( 10) = SUBSTR(LCCNP, 10, 1)
LAPO( 10) = 2
LAC( 11) = SUBSTR(LCCNP, 11, 1)
LAPO( 11) = 7
LAC( 12) = SUBSTR(LCCNP, 12, 1)
LAPO( 12) = 9
LAC( 13) = SUBSTR(LCCNP, 13, 1)
FOR I = 1 TO 13
IF  .NOT. ISDIGIT(LAC(I))
  DO WARN WITH 'Eroare validare CNP', 'Codul numeric personal nu este un numar.'
  RETURN .F.
ENDIF
ENDFOR

*****
LU3 = LAC(4)+LAC(5)                          &&LUNA
IF  .NOT. (BETWEEN(VAL(LU3), 1, 12))
   DO WARN WITH 'Eroare validare CNP', 'LUNA nasterii din CNP nu este una valida.'
   RETURN .F.
ENDIF

DA3 = LAC(6)+LAC(7)                          && ZIUA
LU3 = LAC(4)+LAC(5)
if INLIST(VAL(LU3), 2)
  IF  .NOT. (BETWEEN(VAL(DA3), 1, 29))
    DO WARN WITH 'Eroare validare CNP', 'ZIUA nasterii din CNP nu este una valida.'
    RETURN .F.
  ENDIF
endif

DA3 = LAC(6)+LAC(7)                          && ZIUA
LU3 = LAC(4)+LAC(5)
IF INLIST(VAL(LU3), 4, 6, 9, 11)
  IF  .NOT. (BETWEEN(VAL(DA3), 1, 30))
    DO WARN WITH 'Eroare validare CNP', 'ZIUA nasterii din CNP nu este una valida.'
    RETURN .F.
  ENDIF
endif

DA3 = LAC(6)+LAC(7)                          && ZIUA
LU3 = LAC(4)+LAC(5)
if INLIST(VAL(LU3), 1, 3, 5, 7, 8, 10, 12)
  IF  .NOT. (BETWEEN(VAL(DA3), 1, 31))
    DO WARN WITH 'Eroare validare CNP', 'ZIUA nasterii din CNP nu este una valida.'
    RETURN .F.
  ENDIF
endif
******

DO CASE
CASE INLIST(LAC(1), '1', '2')
  DA1 = LAC(6)+LAC(7)+'-'+LAC(4)+LAC(5)+'-'+'19'+LAC(2)+LAC(3)
  DA2 = DTOC(CTOD(DA1))
  IF  .NOT. (DA1==DA2)
   DO WARN WITH 'Eroare validare CNP', 'Anul nasterii din CNP nu este una valida.'
   RETURN .F.
  ENDIF
CASE INLIST(LAC(1), '3', '4')
  DA1 = LAC(6)+LAC(7)+'-'+LAC(4)+LAC(5)+'-'+'18'+LAC(2)+LAC(3)
  DA2 = DTOC(CTOD(DA1))
  IF  .NOT. (DA1==DA2)
   DO WARN WITH 'Eroare validare CNP', 'Anul nasterii din CNP nu este una valida.'
   RETURN .F.
  ENDIF
CASE INLIST(LAC(1), '5', '6')
  DA1 = LAC(6)+LAC(7)+'-'+LAC(4)+LAC(5)+'-'+'20'+LAC(2)+LAC(3)
  DA2 = DTOC(CTOD(DA1))
  IF  .NOT. (DA1==DA2)
   DO WARN WITH 'Eroare validare CNP', 'Anul nasterii din CNP nu este una valida.'
   RETURN .F.
  ENDIF
CASE INLIST(LAC(1), '7', '8')
OTHERWISE
  DO WARN WITH 'Eroare validare CNP', 'CNP-ul are prima cifra incorecta.'
  RETURN .F.
ENDCASE

DA3 = LAC(8)+LAC(9)
IF  .NOT. (BETWEEN(VAL(DA3), 1, 47) .OR. INLIST(VAL(DA3), 51, 52, 99))
  DO WARN WITH 'Eroare validare CNP', 'CNP-ul are codul judetului incorect.'
  RETURN .F.
ENDIF
LNCC = 0
FOR I = 1 TO 12
  LNCC = LNCC+VAL(LAC(I))*LAPO(I)
ENDFOR
LNCC = MOD(LNCC, 11)
IF LNCC==10
  LNCC = 1
ENDIF
IF LNCC<>VAL(LAC(13))
  DO WARN WITH 'Eroare validare CNP', 'Eroare la controlul codului numeric personal'
  RETURN .F.
ENDIF
RETURN WF
*

FUNCTION WARN
PARAMETER CWINDOW, CMSGTEXT
PRIVATE CTITLE
M.CTITLE = ' '+ALLTRIM(CWINDOW)+' '
= READ1()
RETURN .F.


FUNCTION READ1
PRIVATE M.CURRAREA, M.TALKSTAT, M.COMPSTAT
IF SET('TALK')='ON'
SET TALK OFF
M.TALKSTAT = 'ON'
ELSE
M.TALKSTAT = 'OFF'
ENDIF
M.COMPSTAT = SET('COMPATIBLE')
SET COMPATIBLE TO FOXPLUS
IF  .NOT. WEXIST('warn') .OR. UPPER(WTITLE('WARN'))=='WARN.PJX' .OR. UPPER(WTITLE('WARN'))=='WARN.SCX' .OR. UPPER(WTITLE('WARN'))=='WARN.MNX' .OR. UPPER(WTITLE('WARN'))=='WARN.PRG'
DEFINE WINDOW WARN FROM INT((SROWS()-10)/2), INT((SCOLS()-55)/2) TO INT((SROWS()-10)/2)+9, INT((SCOLS()-55)/2)+54 FLOAT NOCLOSE SHADOW TITLE M.CTITLE NOMINIMIZE DOUBLE COLOR SCHEME 7
ENDIF
IF WVISIBLE('warn')
  ACTIVATE WINDOW SAME WARN
ELSE
  ACTIVATE WINDOW NOSHOW WARN
ENDIF
@ 3, 5 SAY CMSGTEXT SIZE 2, 46
@ 1, 1 TO 3, 3
@ 2, 2 SAY '!' SIZE 1, 1, 0
@ 6, 22 GET CREPLY DEFAULT 1 SIZE 1, 6, 1 PICTURE '@*HT !? @ 1, 22 SAY 'AVERTISMENT' SIZE 1, 11, 0
IF  .NOT. WVISIBLE('warn')
  ACTIVATE WINDOW WARN
ENDIF
READ CYCLE
RELEASE WINDOW WARN
IF M.TALKSTAT='ON'
  SET TALK ON
ENDIF
RETURN .F.

#21
Lucas^Art

Lucas^Art

    New Member

  • Grup: Members
  • Posts: 1
  • Înscris: 31.05.2006
<script LANGUAGE="Javascript">
<!--
function validareCNP(s)
{
            var suma=0;
            var mesaj="";
            if(s.length==13)
            {
                        suma=parseInt(s.charAt(0))*2+parseInt(s.charAt(1))*7+parseInt(s.charAt(2))*9+par
eInt(s.charAt(3))*1+parseInt(s.charAt(4))*4+parseInt(s.charAt(5))*6+parseInt(s.c
arAt(6))*3+parseInt(s.charAt(7))*5+parseInt(s.charAt(8))*8+parseInt(s.charAt(9))
2+parseInt(s.charAt(10))*7+parseInt(s.charAt(11))*9;
                        suma=suma%11;
                        if(suma==10)
                                    suma=1;
                        if(suma==parseInt(s.charAt(12)))
                                    return true;
                        else{
                                    alert("CNP invalid !!!");                          
                                    return false;
                        }

            }
            else{
                        alert("CNP de lungime necorespunzatoare (<>13) !!! ");
                        return false;
            }
}
-->
</SCRIPT>

Daca te mai ajuta cu ceva ....

#22
dixy

dixy

    Senior Member

  • Grup: Banned
  • Posts: 3,910
  • Înscris: 06.09.2004
Sigur că după 3 ani îl ajută. :D

#23
goblenro

goblenro

    Member

  • Grup: Members
  • Posts: 973
  • Înscris: 13.06.2005

 dixy, on Jun 8 2006, 15:08, said:

Sigur că după 3 ani îl ajută. :D

:) nici nu a mai trecut pe aici de un an si ceva

#24
crisge

crisge

    New Member

  • Grup: Members
  • Posts: 1
  • Înscris: 27.03.2007

 goblenro, on Jun 8 2006, 15:38, said:

:) nici nu a mai trecut pe aici de un an si ceva

este adevarat ca pe el nu il ajuta dar pe mine da. mersi pt ca ai adaugat scriptul.

#25
Rica Yoyo

Rica Yoyo

    New Member

  • Grup: Members
  • Posts: 3
  • Înscris: 27.02.2007
Toranaga....ai rezolvat ceva la programu ala cu CNP-urile??? ... ca si eu am o problema ..si vad ca tu esti pe punctul de a o termina ... astept raspuns // ms

Edited by ciuly, 05 April 2007 - 15:38.
corectat scris de irc-ar


Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate