Re: problème contrôle téléphone dans formulaire
> /^\d{10}$/ parce que sinon le texte "abc$@12345678901234567890#&" sera
> accepté aussi.
Merci pour votre contribution. C'est très sympa,
Où je peux trouver un lexique pour construire les expressions.
Après vos conseilles voilà le résultat, y a t'il une manière plus
propre et compatible pour ce code:
<script type="text/javascript">
// Boucle de validation
function validateForm(form) {
if (isNotEmpty(form.nom)) {
if (isNotEmpty(form.prenom)) {
if (isNotEmpty(form.telephone)) {
if (isNumber(form.telephone)) {
if (isLen10(form.telephone)) {
if (isNotEmpty(form.eMail)) {
if (isEMailAddr(form.eMail)) {
return true;
}
}
}
}
}
}
}
return false;
}
// Vérifie si un champ a bien été renseigné
function isNotEmpty(elem) {
var str = elem.value;
var re = /.+/;
if(!str.match(re)) {
alert("Veuillez renseigner les champs obligatoires.");
setTimeout("focusElement('" + elem.form.name + "', '" +
elem.name + "')", 0);
return false;
} else {
return true;
}
}
// Vérifie si l'adresse e-mail est valide
function isEMailAddr(elem) {
var str = elem.value;
var re = /^[.A-Za-z0-9+_-]+@[.A-Za-z0-9-]+$/;
if (!str.match(re)) {
alert("Veuillez vérifier le format de votre adresse e-mail.");
setTimeout("focusElement('" + elem.form.name + "', '" +
elem.name + "')", 0);
return false;
} else {
return true;
}
}
//Vérifie si un champ ne contient que des chiffres
function isNumber(elem) {
var str = elem.value;
var re = /^[-]?\d*\.?\d*$/;
str = str.toString();
if (!str.match(re)) {
alert("Veuillez respecter le format du numéro de téléphone :
'0311223344' pour '03 11 22 33 44'.");
setTimeout("focusElement('" + elem.form.name + "', '" +
elem.name + "')", 0);
return false;
}
return true;
}
// Vérifie si un champ contient 10 caractères
function isLen10(elem) {
var str = elem.value;
var re = /^\d{10}$/;
if (!str.match(re)) {
alert("Veuillez respecter le format du numéro de téléphone :
'0311223344' pour '03 11 22 33 44'.");
setTimeout("focusElement('" + elem.form.name + "', '" +
elem.name + "')", 0);
return false;
} else {
return true;
}
}
// Positionne le curseur dans un champ donné
function focusElement(formName, elemName) {
var elem = document.forms[formName].elements[elemName];
elem.focus();
elem.select();
}
</script>
|