Javascript [Résolu]

Signaler
Messages postés
50
Date d'inscription
mardi 27 octobre 2009
Statut
Membre
Dernière intervention
16 décembre 2012
-
Messages postés
50
Date d'inscription
mardi 27 octobre 2009
Statut
Membre
Dernière intervention
16 décembre 2012
-
<script>
function checkcc(){

failed=false
Str=document.cc.number.value
newStr=''
card=''

month_index = document.cc.exp_month.selectedIndex
exp_month = document.cc.exp_month.options[month_index].text

year_index = document.cc.exp_year.selectedIndex
exp_year = document.cc.exp_year.options[year_index].text

d=new Date()
cur_month = d.getMonth() + 1
cur_year = d.getYear() + 1900

//Le type de la carte
if(document.cc[0].checked){card="master"}
if(document.cc[1].checked){card="visa"}
if(document.cc[2].checked){card="amex"}

if (card=='') {
error("Vous n\'avez pas choisi le type de carte")
return
}

//Date d'expiration
if (exp_year < cur_year) {
error("La carte a expiré")
return
}

if ((exp_year == cur_year) && (exp_month < cur_month)) {
error("La carte a expiré")
return
}
//Suppression des espaces et autre
for (var k = 0; k < Str.length; k++){
var oneChar = Str.charAt(k)
if ((oneChar != " ") && (oneChar != "-")) {
newStr += Str.charAt(k)
}
}
//Verifie le chiffre numerique
for (var k = 0; k < newStr.length; k++){
var oneChar = newStr.charAt(k)
if (oneChar < "0" || oneChar > "9") {
error("caractères invalides dans le numéro.")
return
}
}
//nombre de chiffres de la carte

if(card == "visa"){
if((newStr.length != "13") && (newStr.length != "16")){
error("nombre de chiffres incorrect.")
return
}

}
if(card == "master"){
if(newStr.length != "16"){
error("nombre de chiffres incorrect.")
return
}
}
if(card == "amex"){
if(newStr.length != "15"){
error("nombre de chiffres incorrect.")
return
}
}
//verifier Mod 10
if(newStr.length == "13"){len13()}
if(newStr.length == "15"){len15()}
if(newStr.length == "16"){len16()}


// si toutes les tests passés
if (!failed){
//whatever redirection is necessary goes here
alert("Le numéro de carte de crédit est valide.")
}
}//Fin de la fonction checkcc

function len13(){
cc0 = newStr.charAt(0)
cc1 = newStr.charAt(1)
cc2 = newStr.charAt(2)
cc3 = newStr.charAt(3)
cc4 = newStr.charAt(4)
cc5 = newStr.charAt(5)
cc6 = newStr.charAt(6)
cc7 = newStr.charAt(7)
cc8 = newStr.charAt(8)
cc9 = newStr.charAt(9)
cc10 = newStr.charAt(10)
cc11 = newStr.charAt(11)
cc12 = newStr.charAt(12)

cc1a = cc1 * 2
cc3a = cc3 * 2
cc5a = cc5 * 2
cc7a = cc7 * 2
cc9a = cc9 * 2
cc11a = cc11 * 2
if(cc1a >= 10) {
cc1a=cc1a.toString()
cc1b = cc1a.charAt(0)
cc1c = cc1a.charAt(1)
cc1 = parseFloat(cc1b) + parseFloat(cc1c)
}
else {
cc1 = cc1a
}
if(cc3a >= 10) {
cc3a=cc3a.toString()
cc3b = cc3a.charAt(0)
cc3c = cc3a.charAt(1)
cc3 = parseFloat(cc3b) + parseFloat(cc3c)
}
else {
cc3 = cc3a
}
if (cc5a >= 10) {
cc5a=cc5a.toString()
cc5b = cc5a.charAt(0)
cc5c = cc5a.charAt(1)
cc5 = parseFloat(cc5b) + parseFloat(cc5c)
}
else {
cc5 = cc5a
}
if (cc7a >= 10) {
cc7a=cc7a.toString()
cc7b = cc7a.charAt(0)
cc7c = cc7a.charAt(1)
cc7 = parseFloat(cc7b) + parseFloat(cc7c)
}
else {
cc7 = cc7a
}
if (cc9a >= 10) {
cc9a=cc9a.toString()
cc9b = cc9a.charAt(0)
cc9c = cc9a.charAt(1)
cc9 = parseFloat(cc9b) + parseFloat(cc9c)
}
else {
cc9 = cc9a
}
if (cc11a >= 10) {
cc11a=cc11a.toString()
cc11b = cc11a.charAt(0)
cc11c = cc11a.charAt(1)
cc11 = parseFloat(cc11b) + parseFloat(cc11c)
}

else {
cc11 = cc11a
}
value = 0
value +=parseFloat(cc0)
value +=parseFloat(cc1)
value +=parseFloat(cc2)
value +=parseFloat(cc3)
value +=parseFloat(cc4)
value +=parseFloat(cc5)
value +=parseFloat(cc6)
value +=parseFloat(cc7)
value +=parseFloat(cc8)
value +=parseFloat(cc9)
value +=parseFloat(cc10)
value +=parseFloat(cc11)
value +=parseFloat(cc12)
value=value.toString()
if (value.charAt(1) != 0){
error("Numero de carte invalide.")
return
}
}
function len15(){
cc0 = newStr.charAt(0)
cc1 = newStr.charAt(1)
cc2 = newStr.charAt(2)
cc3 = newStr.charAt(3)
cc4 = newStr.charAt(4)
cc5 = newStr.charAt(5)
cc6 = newStr.charAt(6)
cc7 = newStr.charAt(7)
cc8 = newStr.charAt(8)
cc9 = newStr.charAt(9)
cc10 = newStr.charAt(10)
cc11 = newStr.charAt(11)
cc12 = newStr.charAt(12)
cc13 = newStr.charAt(13)
cc14 = newStr.charAt(14)

cc1a = cc1 * 2
cc3a = cc3 * 2
cc5a = cc5 * 2
cc7a = cc7 * 2
cc9a = cc9 * 2
cc11a = cc11 * 2
cc13a = cc13 * 2

if(cc1a >= 10) {
cc1a=cc1a.toString()
cc1b = cc1a.charAt(0)
cc1c = cc1a.charAt(1)
cc1 = parseFloat(cc1b) + parseFloat(cc1c)
}
else {
cc1 = cc1a
}

if(cc3a >= 10) {

cc3a=cc3a.toString()
cc3b = cc3a.charAt(0)
cc3c = cc3a.charAt(1)
cc3 = parseFloat(cc3b) + parseFloat(cc3c)
}

else {
cc3 = cc3a
}

if (cc5a >= 10) {
cc5a=cc5a.toString()
cc5b = cc5a.charAt(0)
cc5c = cc5a.charAt(1)
cc5 = parseFloat(cc5b) + parseFloat(cc5c)
}

else {
cc5 = cc5a
}

if (cc7a >= 10) {
cc7a=cc7a.toString()
cc7b = cc7a.charAt(0)
cc7c = cc7a.charAt(1)
cc7 = parseFloat(cc7b) + parseFloat(cc7c)
}
else {
cc7 = cc7a
}

if (cc9a >= 10){
cc9a=cc9a.toString()
cc9b = cc9a.charAt(0)
cc9c = cc9a.charAt(1)
cc9 = parseFloat(cc9b) + parseFloat(cc9c)
}
else {
cc9 = cc9a
}
if (cc11a >= 10) {
cc11a=cc11a.toString()
cc11b = cc11a.charAt(0)
cc11c = cc11a.charAt(1)
cc11 = parseFloat(cc11b) + parseFloat(cc11c)
}
else {
cc11 = cc11a
}

if (cc13a >= 10) {
cc13a=cc13a.toString()
cc13b = cc13a.charAt(0)
cc13c = cc13a.charAt(1)
cc13 = parseFloat(cc13b) + parseFloat(cc13c)
}

else {
cc13 = cc13a
}

value = 0
value +=parseFloat(cc0)
value +=parseFloat(cc1)
value +=parseFloat(cc2)
value +=parseFloat(cc3)
value +=parseFloat(cc4)
value +=parseFloat(cc5)
value +=parseFloat(cc6)
value +=parseFloat(cc7)
value +=parseFloat(cc8)
value +=parseFloat(cc9)
value +=parseFloat(cc10)
value +=parseFloat(cc11)
value +=parseFloat(cc12)
value +=parseFloat(cc13)
value +=parseFloat(cc14)

value=value.toString()

if (value.charAt(1) != 0) {

error("Numéro de carte invalide.")
return
}
}
function len16() {
cc0 = newStr.charAt(0)
cc1 = newStr.charAt(1)
cc2 = newStr.charAt(2)
cc3 = newStr.charAt(3)
cc4 = newStr.charAt(4)
cc5 = newStr.charAt(5)
cc6 = newStr.charAt(6)
cc7 = newStr.charAt(7)
cc8 = newStr.charAt(8)
cc9 = newStr.charAt(9)
cc10 = newStr.charAt(10)
cc11 = newStr.charAt(11)
cc12 = newStr.charAt(12)
cc13 = newStr.charAt(13)
cc14 = newStr.charAt(14)
cc15 = newStr.charAt(15)

cc0a = cc0 * 2
cc2a = cc2 * 2
cc4a = cc4 * 2
cc6a = cc6 * 2
cc8a = cc8 * 2
cc10a = cc10 * 2
cc12a = cc12 * 2
cc14a = cc14 * 2

if(cc0a >= 10) {
cc0a=cc0a.toString()
cc0b = cc0a.charAt(0)
cc0c = cc0a.charAt(1)
cc0 = parseFloat(cc0b) + parseFloat(cc0c)
}
else {
cc0 = cc0a
}

if(cc2a >= 10) {

cc2a=cc2a.toString()
cc2b = cc2a.charAt(0)
cc2c = cc2a.charAt(1)
cc2 = parseFloat(cc2b) + parseFloat(cc2c)
}

else {
cc2 = cc2a
}

if (cc4a >= 10) {
cc4a=cc4a.toString()
cc4b = cc4a.charAt(0)
cc4c = cc4a.charAt(1)
cc4 = parseFloat(cc4b) + parseFloat(cc4c)
}

else {
cc4 = cc4a
}

if (cc6a >= 10) {
cc6a=cc6a.toString()
cc6b = cc6a.charAt(0)
cc6c = cc6a.charAt(1)
cc6 = parseFloat(cc6b) + parseFloat(cc6c)
}

else {
cc6 = cc6a
}

if (cc8a >= 10) {
cc8a=cc8a.toString()
cc8b = cc8a.charAt(0)
cc8c = cc8a.charAt(1)
cc8 = parseFloat(cc8b) + parseFloat(cc8c)
}

else {
cc8 = cc8a
}

if (cc10a >= 10) {
cc10a=cc10a.toString()
cc10b = cc10a.charAt(0)
cc10c = cc10a.charAt(1)
cc10 = parseFloat(cc10b) + parseFloat(cc10c)
}
else {
cc10 = cc10a
}

if (cc12a >= 10) {
cc12a=cc12a.toString()
cc12b = cc12a.charAt(0)
cc12c = cc12a.charAt(1)
cc12 = parseFloat(cc12b) + parseFloat(cc12c)
}

else {
cc12 = cc12a
}
if (cc14a >= 10) {
cc14a=cc14a.toString()
cc14b = cc14a.charAt(0)
cc14c = cc14a.charAt(1)
cc14 = parseFloat(cc14b) + parseFloat(cc14c)
}

else {
cc14 = cc14a
}

value = 0
value +=parseFloat(cc0)
value +=parseFloat(cc1)
value +=parseFloat(cc2)
value +=parseFloat(cc3)
value +=parseFloat(cc4)
value +=parseFloat(cc5)
value +=parseFloat(cc6)
value +=parseFloat(cc7)
value +=parseFloat(cc8)
value +=parseFloat(cc9)
value +=parseFloat(cc10)
value +=parseFloat(cc11)
value +=parseFloat(cc12)
value +=parseFloat(cc13)
value +=parseFloat(cc14)
value +=parseFloat(cc15)

value=value.toString()

if (value.charAt(1) != 0) {

error("numéro de carte invalide.")
return
}

}

function error(msg) {
alert(msg)
failed=true
}
</script>



c'est koi ce code un javascript ou koi je ne le comprebds pa il'y t'il quelqu'un qui peut m'aider

5 réponses

Messages postés
239
Date d'inscription
mercredi 19 février 2003
Statut
Membre
Dernière intervention
17 janvier 2013
5
Bonjour,

Effectivement c'est bien du javascript (on le voit en regardant les balises de départ et de fin), ensuite ce qu'il fait, il faut lire le code tout simplement. Je dirai a vu de nez et en 1ere lecture qu'il fait une vérification de carte bleu nan ???

PascalCmoa
email: PascalCmoa
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
13
Manque plein de point-virgules mais sinon ça va. Et des morceaux de ce code peuvent être optimisés.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Messages postés
50
Date d'inscription
mardi 27 octobre 2009
Statut
Membre
Dernière intervention
16 décembre 2012

merci PascalCmoa mais pouvez vous m'aidez un peu ou me donnez au moins une idéé générale sur les fonctions je n'ai rien compris de ce code
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
13
Quel est ton problème avec ce code : tu ne comprends pas comment il fonctionne ou tu ne comprends pas pourquoi il ne fonctionne pas ?

Idée générale sur les fonctions : http://fr.wikipedia.org/wiki/Fonction_%28informatique%29

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Messages postés
50
Date d'inscription
mardi 27 octobre 2009
Statut
Membre
Dernière intervention
16 décembre 2012

je ne comprend pas comment il fonctionne pouvez vous m'aider stp