<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