Forumul SoftpediaBursa auto / moto / veloAnunƣuri imobiliareAnunƣuriOferte de serviciiLocuri de muncă Ɵi cursuri de specializareBloguriJocuriTeste / ReviewsÎntrebări Ɵi răspunsuriChestionareFotoStatistici

Bine ai venit ( Autentificare | Înregistrare )

2 V   1 2 >  
Reply to this topicStart new topic
> Javascript - verificare CNP
Toranaga
mesaj 7th October 2003, 21:08
Mesaj #1


Junior

Grup: Validating
Mesaje: 372
Data înscrierii: 4-August 03
Locație: Azeroth
ID membru: 5 274





CODE
function cnp

parameters cod && de tip caracter !!!

do case

case len(cod)<13

wait "Prea putine caractere.Apasati orice tasta..." window

return .F.

case len(cod)>13

wait "Prea multe caractere.Apasati orice tasta..." window

return .F.

endcase

dimension c(13)

for a=1 to 13

c(a)=val(substr(cod,a,1))

endfor

_suma=c(1)*2+c(2)*7+c(3)*9+c(4)*1+c(5)*4+c(6)*6+c(7

)*3+c(8)*5+c(9)*8+c(10)*2+c(11)*7+c(12)*9

rest=suma%11

rezultat=iif((rest<10 and rest=c(13))or(rest = 10 and c(13)=1),.T.,.F.)

if rezultat=.F.

wait "Cod incorect.Apasati orice tasta..." window

endif

return rezultat


Am nevoie de acest cod in javascript pentru a verifica CNP. Problema lungimii de 13 caractere a string-ului am rezolvat-o din
CODE
<input type="text" name="cnp" maxlength="13">


Aveti idee?
Ca am tot cautat si n-am gasit o metoda de a verifica primele 7 caractere ( SZZLLAA ) si concordanta cu suma de control ( C ) si nu am gasit.
Go to the top of the page
 
+Quote Post
JohnDoe
mesaj 7th October 2003, 21:13
Mesaj #2


Junior

Grup: Members
Mesaje: 468
Data înscrierii: 28-August 02
ID membru: 1 858



si care e formula dupa care calculezi daca CNP-ul e corect sau nu?
Go to the top of the page
 
+Quote Post
Toranaga
mesaj 7th October 2003, 21:14
Mesaj #3


Junior

Grup: Validating
Mesaje: 372
Data înscrierii: 4-August 03
Locație: Azeroth
ID membru: 5 274



aia din primul CODE din mesajul meu. E in FOX, insa algoritmul e clar
Go to the top of the page
 
+Quote Post
JohnDoe
mesaj 7th October 2003, 21:19
Mesaj #4


Junior

Grup: Members
Mesaje: 468
Data înscrierii: 28-August 02
ID membru: 1 858



problema:
CNP-ul are obligatoriu 13 caractere?

Daca da:
io am vazut un CNP VALID... (scris si in buletin, si in certificatul de nastere, si in pasaport, si in permis....) de 14 caractere....

Ce faci in cazul asta?
Go to the top of the page
 
+Quote Post
Toranaga
mesaj 7th October 2003, 21:23
Mesaj #5


Junior

Grup: Validating
Mesaje: 372
Data înscrierii: 4-August 03
Locație: Azeroth
ID membru: 5 274



Poate o mai fi un tip de CNP si nu stiu eu. din 6.000 de cnp-uri inregistrate pana acum la mine ( intr-un program FOX de gestiune clienti ), niciunul n-a avut 14 caractere. Deci ma multumesc si cu 13 (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
 
+Quote Post
Courage
mesaj 7th October 2003, 21:29
Mesaj #6


Administrator

Grup: Admin
Mesaje: 11 166
Data înscrierii: 26-November 01
Locație: Bucuresti
ID membru: 2



Era o discutie mai veche pe tema CNP
Poate ajuta...

http://forum.softnews.ro/showthread.php?s=...5&highlight=CNP
Go to the top of the page
 
+Quote Post
Toranaga
mesaj 7th October 2003, 21:34
Mesaj #7


Junior

Grup: Validating
Mesaje: 372
Data înscrierii: 4-August 03
Locație: Azeroth
ID membru: 5 274



Ma uitasem deja pe ea (IMG:style_emoticons/default/sad.gif) .

Daca as fi stiut mai mult javascript probabil l-as fi dibuit pana acum. Ideea e ca vreau sa ma feresc de verificarea in php inainte de adaugarea in baza de date. Voiam sa fie ceva mai interactiv, mai sugestiv, pentru a usura munca celor care vor lucra pe programel.
Go to the top of the page
 
+Quote Post
JohnDoe
mesaj 7th October 2003, 22:10
Mesaj #8


Junior

Grup: Members
Mesaje: 468
Data înscrierii: 28-August 02
ID membru: 1 858



Incearca asta:

CODE




function verifyCNP(cnp) {

   constanta=new String("279146358279");

   if(cnp.length!=13) alert(false);

   suma=0;

   for(i=0; i<constanta.length; i++) {

       suma=suma+cnp.charAt(i)*constanta.charAt(i);

   }

   rest=suma%11;

   if((rest <10 && rest == cnp.charAt(12)) || (rest == 10 && cnp.charAt(12) == 1))

       return(true);

       else

       return(false);
Go to the top of the page
 
+Quote Post
Toranaga
mesaj 7th October 2003, 22:26
Mesaj #9


Junior

Grup: Validating
Mesaje: 372
Data înscrierii: 4-August 03
Locație: Azeroth
ID membru: 5 274



Pare sa mearga la buletinul meu.
btw, ce face constanta. Ca sa-mi dau cu parerea, pare sa stabileasca lungimea sirului pe care se va face verificarea. Gresesc mult?

Merci mult. Mai am de lucrat la program pana ii dau de cap, dar cu pare ca am mai rezolvat o problema. (IMG:style_emoticons/default/wink.gif)


edit :

M-am prins ce face constanta. E insiruirea de constante cu care se inmultesc componentele cnp :cool: cam greu la ora asta, stiu (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
 
+Quote Post
JohnDoe
mesaj 8th October 2003, 14:39
Mesaj #10


Junior

Grup: Members
Mesaje: 468
Data înscrierii: 28-August 02
ID membru: 1 858





hmm... da.. constanta aia am luat-o de pe post-ul la care a dat link-ul Courage...
Go to the top of the page
 
+Quote Post
AcidMan
mesaj 8th October 2003, 15:21
Mesaj #11


Acid Member

Grup: Senior Members
Mesaje: 4 860
Data înscrierii: 8-September 03
Locație: Bucuresti
ID membru: 6 156



in primul rand conditiile. trebe ca prima cifra sa fie 1,2,5 sau 6. pe de alta parte eu am facut asta ce pe un macro in access cu mai multe querry . se aduna se imparte si se da suma de control adica ultima cifra ca valoare a operatiilor...
daca aveti nevoie neaparat, scrieti. cert e ca pt 300.000 de asigurati pe care i-am gestionat nu a dat niciodata eroare.
Go to the top of the page
 
+Quote Post
WhoAmI
mesaj 8th October 2003, 17:07
Mesaj #12


Junior

Grup: Members
Mesaje: 332
Data înscrierii: 15-January 03
ID membru: 2 782



Prima cifra nu e sexul? 5 sau 6 ce poate fi?
Go to the top of the page
 
+Quote Post
Toranaga
mesaj 8th October 2003, 18:07
Mesaj #13


Junior

Grup: Validating
Mesaje: 372
Data înscrierii: 4-August 03
Locație: Azeroth
ID membru: 5 274



sexul pentru cei nascuti dupa 2000?
Go to the top of the page
 
+Quote Post
BIGphAntom
mesaj 8th October 2003, 18:40
Mesaj #14


Active Member

Grup: Senior Members
Mesaje: 3 190
Data înscrierii: 30-November 01
Locație: BV
ID membru: 98



cifra

1- sex(1 = male, 2=female)
2+3-anul nasterii
4+5-luna
6+7-ziua
8+9-judet din cate stiu eu (BV are 08!)
restul nu stiu exact ce sunt!
Go to the top of the page
 
+Quote Post
Toranaga
mesaj 8th October 2003, 18:53
Mesaj #15


Junior

Grup: Validating
Mesaje: 372
Data înscrierii: 4-August 03
Locație: Azeroth
ID membru: 5 274



restul este de exemplu identic pentru mine si fratele meu, nascuti la distanta de 1 an si 8 luni in aceeasi maternitate
Go to the top of the page
 
+Quote Post
BIGphAntom
mesaj 8th October 2003, 19:00
Mesaj #16


Active Member

Grup: Senior Members
Mesaje: 3 190
Data înscrierii: 30-November 01
Locație: BV
ID membru: 98



QUOTE
Originally posted by Toranaga
restul este de exemplu identic pentru mine si fratele meu, nascuti la distanta de 1 an si 8 luni in aceeasi maternitate


da, asa am si eu si inca 4 friends nascuti cu mine in acelasi an, la aceeasi maternitate, nu cred ca e aia, dar orice e posibil
Go to the top of the page
 
+Quote Post
AcidMan
mesaj 8th October 2003, 19:19
Mesaj #17


Acid Member

Grup: Senior Members
Mesaje: 4 860
Data înscrierii: 8-September 03
Locație: Bucuresti
ID membru: 6 156



restul sunt cateva cifre de identificare. cei din sectorul 6 au aceleasi 406 sau asemenator la 8, 9 si 10. restul probabil cifre de identificare unice. ce se intampla daca sunt 2 barbati nascuti pe aceeasi data in acelasi an si stau in aceeasi locatie?
By the way baietii nascuti dupa 2000 sunt cu 5 si fetitzele dupa 2000 cu 6 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
 
+Quote Post
theunknown85
mesaj 16th August 2004, 08:58
Mesaj #18


Junior

Grup: Members
Mesaje: 4
Data înscrierii: 16-August 04
ID membru: 21 483



cel putin prima cifra dupa cod judet reprezinta codul materintatii, ultimele 3 respectiv 3 cifre sunt ptr a valida algoritmul CNP-ului. Stiati ca un CNP poate fi valid chiar daca nu este real ??? Singura conditie e sa indeplineasca algoritmul. Din pacte nu stiu algoritmul. Daca il stie cineva astept un mail pe theunknown85@yahoo.com
Go to the top of the page
 
+Quote Post

2 V   1 2 >
Reply to this topicStart new topic
1 utilizatori citesc acest subiect (1 utilizatori neautentificați și 0 anonimi)
0 Membri:

 

RSS Versiune simplificată Data: 23rd November 2009 - 05:51
© 2001 - 2009 Softpedia. All rights reserved.
Softpedia® and Softpedia logo are registered trademarks of Soft News NET SRL.
Privacy Policy | Terms of Use | Contact Softpedia