IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Contrôle de saisie js


Sujet :

JavaScript

  1. #1
    Membre averti
    Femme Profil pro
    Ingénierie des logiciels
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Ingénierie des logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Par défaut Contrôle de saisie js
    Salut

    Comment on vérifie notre champ de saisie s'il est de type numérique ou caractère ?

    Si je veux interdire tous les caractères spéciaux à l'exception de les espaces et l'accent '.

    Et comment on vérifie le format de l'e-mail si elle est correcte ou pas !

    Sachant que j'ai une fonction qui s'appelle lancer(); qui vérifie si les champs sont vide ou pas.

    Merci.

  2. #2
    Membre chevronné Avatar de beejeridou
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Par défaut
    Oui, les expressions régulières sont tes amies:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //Avec jQuery
    if($('#idDuChampAVerifier').val().match(/^[a-zA-Z0-9 \']+$/))
        alert('le champ est valide');
    Il me semble que ça ressemble à peut près à ça.

  3. #3
    Rédacteur

    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2007
    Messages : 494
    Par défaut
    Salut,

    mieux que les regex (je pense) tu peux utiliser typeof : http://www.adp-gmbh.ch/web/js/operators/typeof.html

  4. #4
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Citation Envoyé par Finality Voir le message
    Salut,

    mieux que les regex (je pense) tu peux utiliser typeof : http://www.adp-gmbh.ch/web/js/operators/typeof.html
    Non. Dans le cas d'un contrôle de saisie, comme on veut vérifier le format d'une chaîne, typeof renverra toujours string

    Et pas besoin de jQuery pour utiliser les expressions régulières. ’Faut arrêter de balancer jQuery (ou autre framework) à toutes les sauces comme ça…
    JavaScript fournit par défaut la fonction match avec le type String, et les deux fonctions exec et test avec le type RegExp.
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    alert("toto".match(/t[oau]/));
    // ou bien
    alert(/t[oau]/.exec("tata"));
    // ou si on n'a pas besoin de récupérer le résultat
    alert(/t[oau]/.test("tutu"));

    Pour vérifier si la donnée est numérique, on peut utiliser la fonction isNaN. NaN siginifie « Not a Number », la fonction renvoie false si la donnée est un nombre. Si on veut récupérer le nombre pour l'utiliser par la suite, on peut utiliser parseInt.

    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    alert(isNaN("toto")); // affiche true
    alert(isNaN("127")); // affiche false
     
    alert(parseInt("127", 10)); // affiche 127
    alert(parseInt("42bla", 10)); // affiche 42 (le reste est tronqué)
    alert(parseInt("poule", 10)); // affiche NaN

    On passe toujours 10 en deuxième argument à parseInt pour s'assurer que le nombre sera bien converti en base décimale. Sinon, les nombres commençant par 0 sont convertis en octal et on ne comprend plus rien…

    Pour exclure tous les caractères spéciaux sauf l'espace et l'apostrophe droite, le plus simple est la regex
    avec le modificateur g si besoin.

    Quand aux adresses mail, c'est loin d'être un problème inconnu, direction FAQ & Google
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

Discussions similaires

  1. Contrôle de saisie formulaire
    Par miram dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/02/2006, 08h33
  2. contrôle de saisie sur un espace
    Par oceane751 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 12/01/2006, 12h04
  3. contrôle de saisie menu déroulant
    Par shnouf dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 05/01/2006, 16h30
  4. contrôle de saisie
    Par oceane751 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/01/2006, 11h24
  5. [debutant] contrôle de saisie et formulaire
    Par oceane751 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/11/2005, 22h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo