WhiskyWalker Fuck a duck and try to fly. | Bonjour,
Je voudrais savoir s'il était possible de faire appel à une fonction javascript dans un javascript ? Je m'explique j'ai un formulaire qui fais appel à un script quand on l'envoie pour vérifier les données, genre si y'a bien un nom, prénom, mail,... Et je voudrais intégrer en plus une vérification de date (enfin 2 vérif en fait). Est-ce que c'est possible ? En gros dans l'exemple est-ce que je peux intégrer le "IsDate" dans le "fnVerifCarte" ?
J'ai essayé un truc comme ça pour l'instant mais j'ai dû me craquer quelquepart :
Code :
- function fnVerifCarte(){
- //Vérif nom
- if (document.form_carte.nom.value=="" ){
- ...
- }
- //Vérif mail
- var email = document.form_carte.email.value;
- if (document.form_carte.email.value=="" ){
- ...
- }else if ((-1 == email.indexOf( '@' ,0)) || (-1 == email.indexOf('.',0 ))) {
- ...
- }
- //Vérif date début et date fin
- var datedeb = document.form_carte.datedeb.value;
- var datefin = document.form_carte.datefin.value;
- if (isdate(datedeb)){
- ...
- }else {
- ...
- }
- if (isdate(datefin)){
- ...
- }else {
- ...
- }
- function isDate(d) {
- if (d == "" ) // si la variable est vide on retourne faux
- return false;
-
- e = new RegExp("^[0-9]{1,2}\/[0-9]{1,2}\/([0-9]{2}|[0-9]{4})$" );
-
- if (!e.test(d)) // On teste l'expression régulière pour valider la forme de la date
- return false;
- // On sépare la date en 3 variables pour vérification, parseInt() converti du texte en entier
- j = parseInt(d.split("/" )[0], 10); // jour
- m = parseInt(d.split("/" )[1], 10); // mois
- a = parseInt(d.split("/" )[2], 10); // année
- // Si l'année n'est composée que de 2 chiffres on complète automatiquement
- if (a < 1000) {
- if (a < 89) a+=2000; // Si a < 89 alors on ajoute 2000 sinon on ajoute 1900
- else a+=1900;
- }
- // Définition du dernier jour de février
- // Année bissextile si annnée divisible par 4 et que ce n'est pas un siècle, ou bien si divisible par 400
- if (a%4 == 0 && a%100 !=0 || a%400 == 0) fev = 29;
- else fev = 28;
- // Nombre de jours pour chaque mois
- nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);
- // Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux
- return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] );
- }
|
Edit : je début en js donc j'ai sûrement fais quelques erreurs. Si vous avez des conseils, n'hésitez pas Message édité par WhiskyWalker le 13-03-2006 à 10:02:34
|