04. juni 2002 - 11:24Der er
18 kommentarer og 1 løsning
kreditkort validering javascript
jeg skal bruge noget validering på et teksfelt som indeholder et kreditkort nr, der skal bare tjekkes på om det er et gyldigt kortnr. Det skal være i Javascript og skal kaldes som en funktion i samme form, ved hjælp af en onclick... Der er 150 point for en masse kode...
kreditkortvalidering i javascript??? det vil du jo aldrig få et brugbart resultat ud af... det er for let at omgås at der ikke er en korrekt validering
<html> <head> </head> <body> <script> function validate() { if(isNaN(document.kreditform.f1.value) || document.kreditform.f1.value.length >4 || document.kreditform.f1.value.length <3) { document.kreditform.f1.select();document.kreditform.f1.focus(); alert("Alle felter skal være af typen nr. og max på 4 karakterer"); } else if(isNaN(document.kreditform.f2.value) || document.kreditform.f2.value.length >4 || document.kreditform.f2.value.length <3) { document.kreditform.f2.select();document.kreditform.f2.focus(); alert("Alle felter skal være af typen nr. og max på 4 karakterer"); } else if(isNaN(document.kreditform.f3.value) || document.kreditform.f3.value.length >4 || document.kreditform.f3.value.length <3) { document.kreditform.f3.select();document.kreditform.f3.focus(); alert("Alle felter skal være af typen nr. og max på 4 karakterer"); } else if(isNaN(document.kreditform.f4.value) || document.kreditform.f4.value.length >4 || document.kreditform.f4.value.length <3) { document.kreditform.f4.select();document.kreditform.f4.focus(); alert("Alle felter skal være af typen nr. og max på 4 karakterer"); } else { alert("Validering udført uden fejl"); } } </script> <form name = "kreditform"> Type in kredit card information: <input type = "text" size="4" name="f1"> <input type = "text" size="4" name="f2"> <input type = "text" size="4" name="f3"> <input type = "text" size="4" name="f4"> <input type = "button" value = "Validate" onclick="java script:validate();"> </form> </body> </html>
som jeg tidligere har skrevet kan du ikke med javascript tjecke om det er gyldigt... hvis det er til en e-handelsside, så snak med nogle der har erfaringer med dankortsbetalinger
i javascript kan du tjecke alle mulige ting - men du kan aldrig aldrig tjecke for om det cpr-nr eller dankort er gyldigt eller ej... du kan tjecke for enkelte ting så det tilnærmelsesvis ligner et cprnr eller dankort, men du kan aldrig vide dig sikker
keysersoze >> Som du sikker ved, er der indbygget et check-ciffer i et CPR-nummer. Det bruges til at validere om et CPR-nummer. Nøjagtig det samme gør sig gældende med et credit-card.
Der er da ingen forskel på om du bruger javascript eller ASP til valideringen. Uanset hvad, kan du kontrollere om der er tale om et gyldigt kort-nummer, men du kan ikke afgøre om der er tale om f.eks. et stjålet kort ;o)
Jeg ville nok bruge regular exspressions, men ved ikke om du går ind for det...
Så ville det nokse sådan her ud
Streng = Request.Form("creditcardfelt") Set regEx = New RegExp regEx.Pattern = ^(\d{4}[- ]){3}\d{4}|\d{16}$ regEx.IgnoreCase = True regEx.Global = True Set Matches = regEx.Execute(Streng) ' Execute search. If Matches > 0 Then Reponse.Write "dit creditcard er godkendt" Else Reponse.Write "dit creditcard er ikke godkendt" End if
Hvis det er noget du skal bruge til e-handel spilder du din tid...
Grunden er at du risikerer at rende ind i nye korttyper, hvor du ikke har algoritmen. Samtidig er jeg ikke helt sikker på at du f.eks. kan validerer alle Dankort typer på denne måde.
Jeg har fået en liste fra PBS fordi jeg havde brug for at skelne mellem Dankort/Ikke Dankort (for at beregne hvornår jeg kunne forvente at få pengene) og det er SLET ikke lige til... De første 4 cifre fortæller hvilke kort det drejer sig om, men jeg tror der var 100 forskellige typer bare på Visa,Dankort og Eurocard - samt at visse ældre dankort typer slet ikke var med.
Yderligere.. Hvis det er til et ehandels system, så validerer din betalingsgateway jo kortet for dig ik'?
Som med CPR numre kan man genererer kortnumre der overholder alle regler med kontrolcifre etc - men som ikke findes i virkeligheden... Sådanne programmer findes på de fleste hacker sider..
Så der er kun en ting til at validerer kortnumre - en betalingsgateway
doc404 >> Korrekt, men mon ikke spørgeren har oprettet dette spørgsmål fordi økonomien ikke rækker til en betalingsgateway. De koster fra ca. 150 Kr. + moms pr. mdr. og op.
Jeg tror slet ikke Dankort kan komme ind i billedet her. PBS stiller meget skrappe krav for at udstede en indløsningsaftale. De krav kan ikke opfyldes uden betalingsgateway.
Den metode spørgeren her vil benytte er forøvrigt meget brugt i udlandet. Det er blot i Danmark vi har PBS, som stiller krav (det er derfor rimeligt sikkert at handle online i Danmark).
-microtec->> Jo tak :-) Kender alt til PBS's krav til nystartede firmaer (f.eks. Kr. 10.000 på en sikringskonto)...
Men...hvis økonomien ikke rækker til 200+ om måneden rækker den så til en ssl forbindelse? Ellers er der da *forhåbentlig* ingen der vil taste deres kortnummer + udløbsdato + kontrolcifre ind....uha uha..
Iøvrigt findes der jo andre løsninger (også til at betale) alt efter hvad det er man ønsker...
doc404 >> Enig. Jeg ville ikke selv turde handle et sådan sted, men det var ikke helt det spørgsmålet gik på :o)
PBS´s priser + betalingsgateway er et problem for mange iværksættere, og dermed den Danske E-handel.
Hvilke andre løsninger tænker du på? Jeg kender ikke nogen og har selv ledt meget. De forskellige løsninger til betaling via mobil eller e-mail, som flere banker (og PBS) arbejder på for tiden er også meget kostbare for en lille iværksætter.
<script language="JavaScript" type="text/javascript"> <!-- function creditcard (streng) { validate = streng var regexp = new RegExp("[^(\d{4}[- ]){3}\d{4}|\d{16}]$"); if (validate.search(regexp) = 0) { alert("Dit creditcard er af forkert format"); } { else --> Det den skal gøre når den er rigtig; } //--> </script>
sorry, er vist kommet til at slå email notifikation fra (drunknede lidt i mails fra eksperten...)..
Alt efter hvad man har brug for kunne man jo f.eks. oprette en butik hos Jubii/www.freeshop.dk eller hos www.kagi.com i USA. Der findes flere lignende firmaer rundt om
Hvis man vil over og bruge nogen af de Amerikanske muligheder, var det nok værd at kikke på http://www.paypal.com/ som er væsentlig mere udbredt end www.kagi.com Meeeen, det øger vel ikke tilliden hos brugeren at man skal betale til et Amerikansk firma.
Jubii/www.freeshop.dk indeholder blot en almindelig PBS betalingsgateway. Den kan findes billigere andre steder, så det er vist ikke "andre løsninger (også til at betale)".
Fandt det ganske tilfældigt! Det er som de andre har pointeret IKKE skudsikkert, og bør ikke bruges i komercielle sammenhæng!
MEN det virker og kan bruges til at give brugeren et praj om at han måske har tastet forkert :o)
/Muddi
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.