begin process at 2012 02 11 05:03:14
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Formulaire

 > QUELQUES FONCTIONS DE VÉRIFICATION DE SAISIE UTILISANT LES EXPRESSIONS RÉGULIÈRES

QUELQUES FONCTIONS DE VÉRIFICATION DE SAISIE UTILISANT LES EXPRESSIONS RÉGULIÈRES


 Information sur la source

Note :
8,5 / 10 - par 2 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Formulaire Classé sous :expressions, régulières, controle, champ, saisie Niveau :Expert Date de création :26/03/2007 Vu :15 724

Auteur : bluedemon

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note


 Description

Voici un ensemble de fonction de vérification de saisie d'un formulaire utilisant les expressions régulières.
Ces fonctions vérifie la saisie de champs le plus utilisés dans un formulaire.

Source

  • //Fonction de vérification chaine de cratere sans chiffres
  • function verif_alphab (champ,saisie)
  • {
  • var reg_alphab = /^[A-Za-z]+$/;
  • if (!(reg_alphab.exec(saisie)!=null))
  • {
  • alert("Le champ saisie n'est pas au format valide !");
  • champ.focus();
  • }
  • }
  • //Fonction de vérification de saisie d'heure
  • function verif_heure(champform,valeur)
  • {
  • var ctl = /^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$/;
  • if (!(ctl.exec(valeur)!=null))
  • {
  • alert("L'heure saisie n'est pas au format valide !");
  • champform.focus()
  • }
  • }
  • //Fonction de vérification saisie numérique (chiffres)
  • function verif_numeric (nb_saisie,champnum)
  • {
  • var nb=nb_saisie.value;
  • var rfocu=champnum;
  • if ((isNaN(nb)))
  • {
  • alert("Le nombre saisi n'est pas valide !");
  • return(false);
  • }
  • return(true);
  • }
  • //Fonction de vérification de saisie d'email au bon format
  • function verif_mail(email)
  • {
  • if (email!='')
  • {
  • var reg_mail = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/
  • if (!(reg_mail.exec(email)!=null))
  • {
  • alert("L'adresse email saisie n'est pas au format valide !");
  • return(false);
  • }
  • }
  • return(true);
  • }
  • //Fonction de vérification de saisie code postal francais et belge
  • function verif_cp(cp)
  • {
  • var reg_cp = /^[0-9]{5}$/
  • //code postal francais ^(0[1-9]|[1-9][0-9])[0-9]{3}$
  • // code postal belge ^(F-[0-9]{4,5}|B-[0-9]{4})$
  • if (!(reg_cp.exec(cp)!=null))
  • {
  • alert("Le code postal saisie n'est pas au format valide !");
  • return(false);
  • }
  • return(true);
  • }
  • //Fonction de vérification de saisie du numéro de téléphone français
  • function verif_tel(tel)
  • {
  • if (tel!='')
  • {
  • var reg_tel = /^[0-9]{10}$/
  • if (!(reg_tel.exec(tel)!=null))
  • {
  • alert("Le numero de tel saisie n'est pas au format valide !");
  • return(false);
  • }
  • }
  • return(true);
  • }
  • //fonction utilisant la vérification de la saisie au bon format d'une date et récupération de focus
  • function verifdate_blur(datesaisie,champdat) {
  • var dateaverif=datesaisie.value;
  • var rfocu=champdat;
  • // rangement de la date dans des variables
  • if (dateaverif!="")
  • {if (!verifdate(dateaverif)) {
  • alert("Attention soit la date n'est pas correcte, soit elle n'est pas au format JJ/MM/AAAA");DonnerFocus(rfocu);return false;
  • }
  • }
  • return true;
  • }
  • //fonction vérifiant la saisie au bon format d'une date
  • function verifdate(d) {
  • var dateaverifier=d
  • // rangement de la date dans des variables
  • if (dateaverifier.substring(0,1)=="0"){
  • var j=parseInt(dateaverifier.substring(1,2));
  • }
  • else {
  • var j=parseInt(dateaverifier.substring(0,2));
  • }
  • if (dateaverifier.substring(3,4)=="0"){
  • var m=parseInt(dateaverifier.substring(4,5));
  • }
  • else {
  • var m=parseInt(dateaverifier.substring(3,5));
  • }
  • var a=parseInt(dateaverifier.substring(6,10));
  • //si la longueur est différent de 10 , problème
  • if (dateaverifier.length != 10) {
  • return false;
  • }
  • //les caratères / ne sont pas aux endroits attendus
  • else {
  • if((dateaverifier.charAt(2) != '/') && (dateaverifier.charAt(5) != '/')) {
  • return false;
  • }
  • }
  • //l'année n'est pa un chiffre
  • if (isNaN(a)) {
  • return false;
  • }
  • //le mois n'est pas un chiffre ou n'est pas compris entre 0 et12
  • if ((isNaN(m))||(m<1)||(m>12)) {
  • return false;
  • }
  • //test si il s'agit d'une année bissextile pour accepter le 29/02
  • if (((a % 4)==0 && (a % 100)!=0) || (a % 400)==0){
  • if ((isNaN(j)) || ((m!=2) && ((j<1)||(j>31))) || ((m==2) && ((j<1)||(j>29)))) {
  • return false;
  • }
  • }
  • else {
  • if ((isNaN(j)) || ((m!=2) && ((j<1)||(j>31))) || ((m==2) && ((j<1)||(j>28)))){
  • return false;
  • }
  • }
  • return true;
  • }
//Fonction de vérification chaine de cratere sans chiffres
function verif_alphab (champ,saisie)
{
var reg_alphab =  /^[A-Za-z]+$/;
		if (!(reg_alphab.exec(saisie)!=null))
		  {	
			alert("Le champ saisie n'est pas au format valide !");
			champ.focus();
		  }
}
//Fonction de vérification de saisie d'heure
function verif_heure(champform,valeur) 
{
var  ctl = /^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$/;
		if (!(ctl.exec(valeur)!=null))
          {            
			alert("L'heure saisie n'est pas au format valide !");
			champform.focus()
		  }
}
//Fonction de vérification saisie numérique (chiffres)
function verif_numeric (nb_saisie,champnum)
	{
	  var nb=nb_saisie.value;
	  var rfocu=champnum;
		if ((isNaN(nb))) 
		{
			alert("Le nombre saisi n'est pas valide !");
			
			return(false);
		}
		return(true);
	}
	
//Fonction de vérification de saisie d'email au bon format
function verif_mail(email)
    {
	if (email!='')
	  {
		var reg_mail = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/	 
		if (!(reg_mail.exec(email)!=null))
		  {	
			alert("L'adresse email saisie n'est pas au format valide !");
			return(false);
		  }
	  }
	  return(true);
	}

//Fonction de vérification de saisie code postal francais et belge

function verif_cp(cp)
    {
		var reg_cp =  /^[0-9]{5}$/ 
		//code postal francais ^(0[1-9]|[1-9][0-9])[0-9]{3}$
		// code postal belge ^(F-[0-9]{4,5}|B-[0-9]{4})$
		if (!(reg_cp.exec(cp)!=null))
		  {	
			alert("Le code postal saisie n'est pas au format valide !");
			return(false);
		  }
  	  return(true);
	}
//Fonction de vérification de saisie du numéro de téléphone français

function verif_tel(tel)
    {
		if (tel!='')
		{	
			var reg_tel = /^[0-9]{10}$/
			if (!(reg_tel.exec(tel)!=null))
			  {	
				alert("Le numero de tel saisie n'est pas au format valide !");
				return(false);
		  	  }
		}
  	  return(true);
	}		
//fonction utilisant la vérification de la saisie au bon format d'une date et récupération de focus
function verifdate_blur(datesaisie,champdat) {
  var dateaverif=datesaisie.value;
  var rfocu=champdat;
  // rangement de la date dans des variables
  if (dateaverif!="")
  {if (!verifdate(dateaverif)) {
         alert("Attention soit la date n'est pas correcte, soit elle n'est pas au format JJ/MM/AAAA");DonnerFocus(rfocu);return false;
      }
  }
   return true;
}

//fonction vérifiant la saisie au bon format d'une date
function verifdate(d) {
  var dateaverifier=d
  // rangement de la date dans des variables
  if (dateaverifier.substring(0,1)=="0"){
         var j=parseInt(dateaverifier.substring(1,2));
      }
      else {
         var j=parseInt(dateaverifier.substring(0,2));
      }
      if (dateaverifier.substring(3,4)=="0"){
         var m=parseInt(dateaverifier.substring(4,5));
      }
      else {
         var m=parseInt(dateaverifier.substring(3,5));
         }
      var a=parseInt(dateaverifier.substring(6,10));
   //si la longueur est différent de 10 , problème
     if (dateaverifier.length != 10) {
         return false;
   }
   //les caratères / ne sont pas aux endroits attendus
   else {
      if((dateaverifier.charAt(2) != '/') && (dateaverifier.charAt(5) != '/')) {
         return false;
      }
   }
   //l'année n'est pa un chiffre
   if (isNaN(a)) {
      return false;
    }
   //le mois n'est pas un chiffre ou n'est pas compris entre 0 et12
     if ((isNaN(m))||(m<1)||(m>12)) {
      return false;
    }
   //test si il s'agit d'une année bissextile pour accepter le 29/02
   if (((a % 4)==0 && (a % 100)!=0) || (a % 400)==0){
         if ((isNaN(j)) || ((m!=2) && ((j<1)||(j>31))) || ((m==2) && ((j<1)||(j>29)))) {
            return false;
        }
   }
    else {
         if ((isNaN(j)) || ((m!=2) && ((j<1)||(j>31))) || ((m==2) && ((j<1)||(j>28)))){
         return false;
      }
   }
   return true;
}



 Sources de la même categorie

Source avec Zip Source avec une capture BOITE DE DIALOGUE MODALE DE SÉLECTION D'UNE LISTE D'ICONES par JJDai
Source avec Zip Source avec une capture RÉSOLUTION D'UN SYSTÈME D'ÉQUATIONS LINÉAIRES À N INCONNUES par william voirol
Source avec Zip Source avec une capture PLUGIN JQUERY LISTE MODIFIABLE (COMBO) AUTOCOMPLÉTÉE par medkarim
GESTION DE NUMÉRO DE TÉLÉPHONE SIMPLE DANS FIREFOX7 par rotomtom
Source avec Zip Source avec une capture RECOMMANDER CETTE PAGE AVEC MAILTO, ACCENT ET RETOUR LIGNE D... par weabow

 Sources en rapport avec celle ci

CHECKUSERACTIVITY : DETECTER L'INACTIVITÉ DU VISITEUR par kankrelune
Source avec Zip UN CHAMP DE SAISIE DE DATE par guykoumba
Source avec une capture AFFICHE UN CALENDRIER SOUS UNE ZONE DE SAISIE par amrounix
Source avec Zip Source avec une capture FORMULAIRE DE CONTACT AVEC MASQUE DE SAISI, RECUPERATION DON... par fifiriri123
Source avec Zip Source avec une capture CONTRÔLE DES CHAMPS D'UN FORMULAIRE [CCF] par bultez

Commentaires et avis

Commentaire de romagny13 le 26/03/2007 13:07:07

j'ai pas testé mais ça a l'air pas mal du tout surtout moi qui suis pas super fort avec les expressions régulières
comme j'ai pas testé je ne mets que 9/10 mais ca peut être vraiment utile .
merci

Commentaire de bultez le 26/03/2007 14:23:12

ça peut être utile, aider.
mais pourquoi diable ne pas contrôler les dates,
les zones numériques... avec des expressions régulières ?
( même s'il faut ajouter des contrôles après ! )
vu que c'était le but ?

Commentaire de dmiodon le 02/04/2007 10:43:05

Fonctions intéressantes, mais je suis d'accord avec BULTEZ, une petite expression régulière pour vérifier la date serait bienvenue.
Par exemple : /^[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}$/ permettrait déjà de vérifier si la date correspond bien à un format jj/mm/aaaa. Il faut bien sûr ensuite contrôler si la date est effectivement cohérente...

Commentaire de Mourad_2007 le 01/05/2007 14:10:04

c'est utile.
mais pourquoi ne pas rendre ses fonctions sans paramètres pour quelles fonctionnes sur un ou plusieurs champs.
et ce n'est pas correcte d'écrire champ.focus
@+

Commentaire de bluedemon le 01/05/2007 23:22:52

Lors de la validation d'un formulaire, chaque champs doit etre vérifié et averti l'internaute quel champs à une mauvaise saisie. Ces fonctions sont utilisé par n'importe quel champs que tu souhaite. De plus le focus est une fonction correct, je ne vois pas en quoi ca ne le serai pas. Au moins l'internaute a son curseur directement dans le bon champs. Ne pas oublié que l'internaute moins il en fait, plus il saisira des informations.

Commentaire de Mourad_2007 le 03/05/2007 10:40:20

Bonjour je voulais dire par :''ce n'est pas correcte d'écrire champ.focus''
Que votre fonction ne marche pas sur d'autres navigateur par exemple le ‘’champ.focus‘’ n'est pas reconnu par Firefox.

Commentaire de bluedemon le 03/05/2007 21:34:24

Et bien, j'ai pu reverifier, cela fonctionne sous firefox. Ce que je donne en paramettre pour champ, c'est this.form ou document.form.champ et tout fonctionne.

Commentaire de dede55 le 07/12/2008 18:36:45

peux tu donner un fichier exemple pour les débutants

merci

Commentaire de lanner le 01/03/2009 17:15:33 8/10

salut est il possible d'avoir un fichier de demonstrations ?
merci

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Controle formulaire paranoiaque [ par ma2x ] Bonjour à tousIl m'a été demandé dans le cadre du boulot de mettre en oeuvre une interface de saisie de données soumis à des controles de toutes parts Controle champ formulaire [ par flopad ] Bonjour tout le monde, j'ai une page contenant un formulaire, je voudrais qu'on message d'alerte s'affiche lors de la validation si la date (code ci-d Expressions régulières [ par fabiano13 ] Bonjour,Je cherche à supprimer, grâce aux expressions régulières, toutes les balises (BBCode) sélectionnées ![b]texte..[/b] [u]texte..[/u] [align=left Controle de saisie [ par titmael ] Bonjour,je souhaite effectuer un controle de saisie sur un champs nommé LOGIN de mon formulaire.Je souhaite que ce champs ne contienne que des lettres date dans formulaire [ par dlgforum ] Bonjour, Voilà, j'ai un formulaire dans lequel je saisie une date et je souhaiterai un controle pour vérifier si cette date est bien entre deux dates. Taille d'une chaine de caractere en pixel [ par mchab ] Bonjourcomme le sujet le laisse pr&#233;voir, je cherche &#224; r&#233;cup&#233;rer la taille en pixel d'une chaine de caracteres affich&#233;e dans&n Controler la saisie d'un champ [ par Dellys ] Bonjourj'ai dans mon formulair un champ "montant ch&#233;que" et je veut que la saisie soit avec un point pas avec une v&#233;rgule exemple&nbsp;&nbsp expressions régulières, fonction replace [ par sapakus ] Bonjour,Voili voilou : je veux enlever les z&#233;ros au d&#233;but d'une chaine de caract&#232;res et garder le reste, et ce en utilisant les express .selectionStart dans un Iframe [ par bultez ] Bonjour à toutes et à tous,je ne parviens pas à utiliser .selection??? dans un iframe ( avec FF/M-Meleon... donc )&lt; ca coince avec cette fonction [ par B e N z ] salut tt le monde enfaite moi je suis en stage ds une soci&#233;t&#233; et on m'as charger de faire un formulaire pour leur site intranet m&#233; le b


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,756 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales