FONCTIONS DE VÉRIFICATION DE FORMULAIRE + FONCTIONS UTILES (EXTENSION DE L'OBJET
trabi11fr
Messages postés40Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention10 décembre 2008
-
25 mai 2004 à 12:24
pifou25
Messages postés144Date d'inscriptionlundi 13 octobre 2003StatutMembreDernière intervention21 décembre 2014
-
7 nov. 2007 à 10:47
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
pifou25
Messages postés144Date d'inscriptionlundi 13 octobre 2003StatutMembreDernière intervention21 décembre 2014 7 nov. 2007 à 10:47
... en fait non ça marche pas, d'utiliser replaceAll pour ça car ça me fait une boucle infinie. ce qui est logique!
pifou25
Messages postés144Date d'inscriptionlundi 13 octobre 2003StatutMembreDernière intervention21 décembre 2014 7 nov. 2007 à 10:36
Bonjour,
ça serait sympa d'ajouter une fonction de protection des chaines: en gros il suffit de remplaçer ' par \' puis " par " et \ par \\
En tout cas il y a la fonction replaceAll() c'est déjà un grand pas :)
lara0o
Messages postés15Date d'inscriptionmercredi 31 août 2005StatutMembreDernière intervention15 décembre 2005 17 oct. 2005 à 19:50
Script tres tres interressant, tres pratique.
Juste une petite correction concernant le completeDate() : une toute petite erreur de ' ' s est reproduite 25 fois au moins (un copier-coller foireux?)
Voici la bonne fonction :
// Complete une date pour qu'elle soit au format JJ/MM/AAAA
// 1.01.1, 1/1/01, 01-01-01, 010101, 01012001 donneront tous 01/01/2001
// dans le cas ou l'année n'est pas complétement renseignée,
// celle-ci est déduite en fonction de l'année en cours
// (ex: 2/12/54 -> 02/12/1954 et 2/12/4 -> 02/12/2004)
String.prototype.completeDate = function() {
var chain = this;
if (/^\d+$/.test(chain) && (6 == chain.length || 8 == chain.length))
chain=chain.substring(0,2)+"/"+chain.substring(2,4)+"/"+chain.substring(4,chain.length);
var reg = /^(\d{1,2})[\/\.\\-](\d{1,2})[\/\.\\-](\d{1,4})$/;
if (reg.test(chain)) {
chain = chain.replace(reg, "$1/$2/$3");
var tab = chain.split("/");
for (var i = 0; i < 2; i++)
tab[i] = eval(tab[i]) > 9 ? tab[i] : "0" + eval(tab[i]);
if (4 != tab[2].length) {
var ObjetDate = new Date();
var year = new String(ObjetDate.getFullYear());
if (eval(tab[2]) > eval(year.substring(2,4)))
year = eval(year.substring(0,2) - 1) + year.substring(2,4);
tab[2] = year.substring(0, 4 - tab[2].length) + tab[2];
}
return tab.join("/");
}
return chain;
}
cs_Bilou972
Messages postés24Date d'inscriptionsamedi 6 septembre 2003StatutMembreDernière intervention24 novembre 2008 13 juil. 2005 à 16:38
Juste une petite correction, le motif du numero de téléphone etait incomplet ( accolade manquante )
// Numéro de téléphone (formats: 0NNNNNNNNN, 0N-NN-NN-NN-NN,
// 0N.NN.NN.NN.NN et 0N NN NN NN NN)
String.prototype.isNoTel = function() {
return /^(0\d{9})|(0\d[ \.-]\d{2}[ \.-]\d{2}[ \.-]\d{2}[ \.-]\d{2})$/.test(this);
}
trabi11fr
Messages postés40Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention10 décembre 2008 25 mai 2004 à 12:24
Merci pour toute ces fonctions qui peuvent effectivement être bien utile et sont simple à utiliser.
7 nov. 2007 à 10:47
7 nov. 2007 à 10:36
ça serait sympa d'ajouter une fonction de protection des chaines: en gros il suffit de remplaçer ' par \' puis " par " et \ par \\
En tout cas il y a la fonction replaceAll() c'est déjà un grand pas :)
17 oct. 2005 à 19:50
Juste une petite correction concernant le completeDate() : une toute petite erreur de ' ' s est reproduite 25 fois au moins (un copier-coller foireux?)
Voici la bonne fonction :
// Complete une date pour qu'elle soit au format JJ/MM/AAAA
// 1.01.1, 1/1/01, 01-01-01, 010101, 01012001 donneront tous 01/01/2001
// dans le cas ou l'année n'est pas complétement renseignée,
// celle-ci est déduite en fonction de l'année en cours
// (ex: 2/12/54 -> 02/12/1954 et 2/12/4 -> 02/12/2004)
String.prototype.completeDate = function() {
var chain = this;
if (/^\d+$/.test(chain) && (6 == chain.length || 8 == chain.length))
chain=chain.substring(0,2)+"/"+chain.substring(2,4)+"/"+chain.substring(4,chain.length);
var reg = /^(\d{1,2})[\/\.\\-](\d{1,2})[\/\.\\-](\d{1,4})$/;
if (reg.test(chain)) {
chain = chain.replace(reg, "$1/$2/$3");
var tab = chain.split("/");
for (var i = 0; i < 2; i++)
tab[i] = eval(tab[i]) > 9 ? tab[i] : "0" + eval(tab[i]);
if (4 != tab[2].length) {
var ObjetDate = new Date();
var year = new String(ObjetDate.getFullYear());
if (eval(tab[2]) > eval(year.substring(2,4)))
year = eval(year.substring(0,2) - 1) + year.substring(2,4);
tab[2] = year.substring(0, 4 - tab[2].length) + tab[2];
}
return tab.join("/");
}
return chain;
}
13 juil. 2005 à 16:38
// Numéro de téléphone (formats: 0NNNNNNNNN, 0N-NN-NN-NN-NN,
// 0N.NN.NN.NN.NN et 0N NN NN NN NN)
String.prototype.isNoTel = function() {
return /^(0\d{9})|(0\d[ \.-]\d{2}[ \.-]\d{2}[ \.-]\d{2}[ \.-]\d{2})$/.test(this);
}
25 mai 2004 à 12:24