FONCTIONS DE VÉRIFICATION DE FORMULAIRE + FONCTIONS UTILES (EXTENSION DE L'OBJET

trabi11fr Messages postés 40 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 10 décembre 2008 - 25 mai 2004 à 12:24
pifou25 Messages postés 144 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 21 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.

https://codes-sources.commentcamarche.net/source/22952-fonctions-de-verification-de-formulaire-fonctions-utiles-extension-de-l-objet-string

pifou25 Messages postés 144 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 21 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és 144 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 21 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és 15 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 15 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és 24 Date d'inscription samedi 6 septembre 2003 Statut Membre Dernière intervention 24 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és 40 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 10 décembre 2008
25 mai 2004 à 12:24
Merci pour toute ces fonctions qui peuvent effectivement être bien utile et sont simple à utiliser.