Javascript

Résolu
remyhoussem Messages postés 50 Date d'inscription mardi 27 octobre 2009 Statut Membre Dernière intervention 16 décembre 2012 - 23 juin 2010 à 14:25
remyhoussem Messages postés 50 Date d'inscription mardi 27 octobre 2009 Statut Membre Dernière intervention 16 décembre 2012 - 24 juin 2010 à 15:36
<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

PascalCmoa Messages postés 239 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 17 janvier 2013 5
23 juin 2010 à 17:20
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
3
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
23 juin 2010 à 18:56
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
0
remyhoussem Messages postés 50 Date d'inscription mardi 27 octobre 2009 Statut Membre Dernière intervention 16 décembre 2012
24 juin 2010 à 10:53
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
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
24 juin 2010 à 11:04
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
remyhoussem Messages postés 50 Date d'inscription mardi 27 octobre 2009 Statut Membre Dernière intervention 16 décembre 2012
24 juin 2010 à 15:36
je ne comprend pas comment il fonctionne pouvez vous m'aider stp
0
Rejoignez-nous