Avatar billede hussain Nybegynder
04. juni 2002 - 11:24 Der 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...
Avatar billede muddi Praktikant
04. juni 2002 - 11:27 #1
Hvorfor opretter du dette spm. i kategorien ASP? Det er jo client-side js du spørger om?
Avatar billede senj Nybegynder
04. juni 2002 - 11:44 #2
Hvilket format vil du have det i?

Ex. xxxx-xxxx-xxxx-xxxx
Avatar billede keysersoze Guru
04. juni 2002 - 11:48 #3
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
Avatar billede senj Nybegynder
04. juni 2002 - 11:57 #4
Her er et eks.

<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>
Avatar billede hussain Nybegynder
04. juni 2002 - 12:15 #5
SENJ: Du har vist misforstået mit spørgsmål, der skal tjekkes på om det er et GYLDIGT kortnr, ligesom man f.eks. kan tjekke om et cpr nr er gyldigt
Avatar billede keysersoze Guru
04. juni 2002 - 12:22 #6
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
Avatar billede microtec Nybegynder
04. juni 2002 - 12:42 #7
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)
Avatar billede snowball Novice
04. juni 2002 - 12:47 #8
Godt nok hverken ASP eller JS, men her er da en PHP artikel om det !

Kortnumre er jo netop ikke bare 16 tilfældige tal (VISA), så helt umuligt er det jo ikke at lave noget ;)

http://www.devnewz.com/2002/0321.html

Snowball
Avatar billede -master-d- Nybegynder
04. juni 2002 - 13:04 #9
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
Avatar billede doc404 Novice
04. juni 2002 - 15:24 #10
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'?
Avatar billede doc404 Novice
04. juni 2002 - 15:26 #11
Og endnu værre...

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
Avatar billede microtec Nybegynder
04. juni 2002 - 15:35 #12
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).
Avatar billede -master-d- Nybegynder
04. juni 2002 - 17:44 #13
nokse = nok se
Avatar billede doc404 Novice
04. juni 2002 - 23:14 #14
-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...
Avatar billede microtec Nybegynder
04. juni 2002 - 23:34 #15
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.
Avatar billede -master-d- Nybegynder
06. juni 2002 - 22:40 #16
Måske sådan her ?

<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>



<body>
<form name="form">
<input type="text" name="textfelt">
<input type="button" value="valider" name="val" onclick="creditcard(document.form.textfelt.value);"
</body>
Avatar billede doc404 Novice
09. juni 2002 - 20:57 #17
microtec>

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
Avatar billede microtec Nybegynder
09. juni 2002 - 21:11 #18
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)".
Avatar billede muddi Praktikant
18. juni 2002 - 02:05 #19
hussain >> Her er et script til at validere kreditkort:
http://javascript.internet.com/forms/val-credit-card.html

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
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester