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 :

Formulaire : verifier si un caractere est en majuscule


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 22
    Points : 17
    Points
    17
    Par défaut Formulaire : verifier si un caractere est en majuscule
    Bonjour,

    Je dispose d'un formulaire classique. J'essaye d'utiliser du javascript pour verifier que les donnees enregistres sont bonne.
    Ce code permet de dire que les caracteres du nom doivent etre inferieur a 20. J'aimerai maintenant verifier que le premier caractere soit bien une majuscule. Mais ceci me pose probleme; il faut peut etre utiliser une fonction charAt pour retourner le premier caractere...
    Mais comment faire ??? Je ne sais pas.
    Si quelqu'un à une petite idee je suis preneur.
    MErci



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Document sans titre</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="JavaScript">
    function valide(){if(form1.nom.value.length > 20)
    {window.alert("Nom incorrect");return false;}else return true}
     
     
    </script>
     
    </head>
     
    <body>
    <form name="form1" onsubmit="return valide()">
      <table width="53%" border="0">
        <tr> 
          <td width="25%">Nom :</td>
          <td width="75%"><input name="nom" size="40"></td>
        </tr>
        <tr> 
          <td>Date de naissance :</td>
          <td><input name="date_naissance2" size="30"></td>
        </tr>
        <tr> 
          <td>e-mail :</td>
          <td><input name="date_naissance" size="50"></td>
        </tr>
      </table>
      <p><input name="submit" type ="submit" value="Valider">
    </p></form>
    </body>
    </html>

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    pas charAt mais subStr

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <script type='text/javascript'>
    function testCaps(texte){
    if(texte.substr(0,1).toUpperCase()!=texte.substr(0,1)){alert('manque une majuscule')
    																document.getElementById('saisie').value=	texte.substr(0,1).toUpperCase() +	texte.substr(1,texte.length-1);
    																			}
    else {alert('le premier caractère est une majuscule')}
    }
    </script>
    </head>
     
    <body>
    <input type='text' onblur="testCaps(this.value);" id="saisie"/>
    </body>
    </html>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    Tout d'abord merci de ton aide.
    Ensuite je suis desolé mais je suis débutant. Excuse moi donc de t'embeter avec des trucs certainement simple.
    Voilà j'ai essayer d'integrer ton code dans ma page.
    Je n'obtiens desormais plus rien.
    En fait il faudrait que sur un seul click du bouton valider l'ensemble du test soit effectuer (nom valide c-a-d majuscule+nb caractere+pas vide)

    Je te remercie.
    @+
    ++





    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Document sans titre</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="JavaScript">
     
    function valide(){if(form1.nom.value.length==""|| form1.nom.value.length > 20)
    {window.alert("Nom incorrect");return false;}else return true}
     
    function testCaps(texte){if(form1.nom.substr(0,1).toUpperCase()!=form1.nom.substr(0,1))
    {alert('manque une majuscule')document.getElementById('saisie').value=texte.substr(0,1).toUpperCase() +
    texte.substr(1,texte.length-1);}else {alert('le premier caractère est une majuscule')}} 
     
    </head>
     
    <body>
    <form name="form1" onsubmit="return valide()">
      <table width="53%" border="0">
        <tr> 
          <td width="25%">Nom :</td>
          <td width="75%"><input name="nom" size="40"></td>
        </tr>
        <tr> 
          <td>Date de naissance :</td>
          <td><input name="date_naissance" size="30"></td>
        </tr>
        <tr> 
          <td>e-mail :</td>
          <td><input name="courriel" size="50"></td>
        </tr>
      </table>
      <p><input name="submit" type ="submit" value="Valider">
    </p><input name='text' onblur="testCaps(this.value);" value="saisie"/> 
    </form>
     
    </body>
    </html>

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    normal ...
    tu essayais d'intégrer une fonction sans l'appeler ...
    j'ai supprimé la fonction et mis le test dans ta fonction valide
    parcontre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    form1.nom.value.length==""
    n'a aucun sens !!!!
    la longueur retourne un entier donc 0.
    ensuite quel intéret de verifier une longueur max ...
    utilises plutot maxLength dans la balise input ...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Document sans titre</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javaScript">
     
    function valide(){if(form1.nom.value.length==0)
    {window.alert("Nom incorrect");return false;}
     
    if(form1.nom.substr(0,1).toUpperCase()!=form1.nom.substr(0,1))
    {alert('le premier caractère est corrigé en majuscule'); 
    document.getElementById('saisie').value=texte.substr(0,1).toUpperCase() +
    texte.substr(1,texte.length-1);}
    else {alert('le premier caractère est une majuscule')}
    return true;
    }
     
    </head>
     
    <body>
    <form name="form1" onsubmit="return valide()">
      <table width="53%" border="0">
        <tr>
          <td width="25%">Nom :</td>
          <td width="75%"><input name="nom" size="40" maxLength="20" id="saisie"></td>
        </tr>
        <tr>
          <td>Date de naissance :</td>
          <td><input name="date_naissance" size="30"></td>
        </tr>
        <tr>
          <td>e-mail :</td>
          <td><input name="courriel" size="50"></td>
        </tr>
      </table>
      <p><input name="submit" type ="submit" value="Valider">
    </p><input name='text' onblur="testCaps(this.value);" value="saisie"/>
    </form>
     
    </body>
    </html>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    Ok merci. Mais encore un petit poblème.
    le formulaire me renvoie le message d'erreur suivant :

    "Cet objet ne gere pas la proprieté ou cette methode"

    Voici le dernier code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    <html> 
    <head> 
    <title>Document sans titre</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
    <script type="text/javaScript"> 
     
    function valide(){if(form1.nom.value.length==0) 
    {window.alert("Nom incorrect");return false;}
    if(form1.nom.substr(0,1).toUpperCase()!=form1.nom.substr(0,1)) 
    {alert('le premier caractère est corrigé en majuscule'); 
    document.getElementById('saisie').value=texte.substr(0,1).toUpperCase() + 
    texte.substr(1,texte.length-1);} 
    else {alert('le premier caractère est une majuscule')} 
    return true;} 
    </script>
     
    </head> 
     
    <body>
    <form name="form1" onsubmit="return valide()"> 
    <table width="53%" border="0"> 
    <tr> 
    <td width="25%">Nom :</td> 
    <td width="75%"><input name="nom" size="40" maxLength="20" id="saisie"></td> 
    </tr> 
    <tr> 
    <td>Date de naissance :</td> 
    <td><input name="date_naissance" size="30"></td> 
    </tr> 
    <tr> 
    <td>e-mail :</td> 
    <td><input name="courriel" size="50"></td> 
    </tr> 
    <tr> 
    <td>Saisie :</td> 
    <td><input name='text' type="testCaps(this.value);" id="saisie"/> </td> 
    </tr> 
    </table> 
    <p><input name="submit" type ="submit" value="Valider"> 
     
    </form> 
     
    </body> 
    </html>

  6. #6
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Quelle ligne, quel objet ?
    Utilise la console javascript de Firefox qui est plus explicite que celle de IE.

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    oups désole bete copier coller ...
    texte n'a pas été defini ... je le passais en paramètre dans la fonction qui a disparu ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Document sans titre</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javaScript">
     
    function valide(){if(form1.nom.value.length==0)
    {window.alert("Nom incorrect");return false;}
    if(form1.nom.substr(0,1).toUpperCase()!=form1.nom.substr(0,1))
    {alert('le premier caractère est corrigé en majuscule');
    var texte=document.getElementById('saisie').value;
    document.getElementById('saisie').value=texte.substr(0,1).toUpperCase() +
    texte.substr(1,texte.length-1);}
    else {alert('le premier caractère est une majuscule')}
    return true;}
    </script>
     
    </head>
     
    <body>
    <form name="form1" onsubmit="return valide()">
    <table width="53%" border="0">
    <tr>
    <td width="25%">Nom :</td>
    <td width="75%"><input name="nom" size="40" maxLength="20" id="saisie"></td>
    </tr>
    <tr>
    <td>Date de naissance :</td>
    <td><input name="date_naissance" size="30"></td>
    </tr>
    <tr>
    <td>e-mail :</td>
    <td><input name="courriel" size="50"></td>
    </tr>
    <tr>
    <td>Saisie :</td>
    <td><input name='text' type="testCaps(this.value);" id="saisie"/> </td>
    </tr>
    </table>
    <p><input name="submit" type ="submit" value="Valider">
     
    </form>
     
    </body>
    </html>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    Ligne 9. Pas d'objet precisé.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    Désolé mais ca ne marche toujours pas.
    Probleme ligne 9.

    @+
    ++

  10. #10
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Voilà ce que dis mon compagnon de jeu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Warning: Element referenced by ID/NAME in the global scope. Use W3C standard document.getElementById() instead.
    Source File: file:///home/nicolas/Desktop/test_name.html
    Line: 8

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    oulà oulà !!!
    fais un peu attetion !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    form1.nom.substr(0,1).toUpperCase()
    c'est quoi ça ?????

    form1.nom est uin objet !! et tu demande de faire un subsrt sur un objet ... il aime pas ...
    substr attend un string !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Document sans titre</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javaScript">
     
    function valide(){
    	if(form1.nom.value.length==0){
    										alert("Nom incorrect");
    										return false;
    										}
    	if(form1.nom.value.substr(0,1).toUpperCase()!=form1.nom.value.substr(0,1)){
    			alert('le premier caractère est corrigé en majuscule');
    			var texte=document.getElementById('saisie').value;
    			document.getElementById('saisie').value=texte.substr(0,1).toUpperCase() + texte.substr(1,texte.length-1);
    			}
    	else {alert('le premier caractère est une majuscule')}
    return true;}
    </script>
     
    </head>
     
    <body>
    <form name="form1" onsubmit="return valide()" action="javascript:alert('j\'envoie')">
    <table width="53%" border="0">
    <tr>
    <td width="25%">Nom :</td>
    <td width="75%"><input name="nom" size="40" maxLength="20" id="saisie"></td>
    </tr>
    <tr>
    <td>Date de naissance :</td>
    <td><input name="date_naissance" size="30"></td>
    </tr>
    <tr>
    <td>e-mail :</td>
    <td><input name="courriel" size="50"></td>
    </tr>
    <tr>
    <td>Saisie :</td>
    <td><input name='text' type="testCaps(this.value);" id="saisie"/> </td>
    </tr>
    </table>
    <p><input name="submit" type ="submit" value="Valider">
     
    </form>
     
    </body>
    </html>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    C'est parfait je vais essayer de comprendre tout ca.
    Merci à vous .

  13. #13
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    heu juste un truc en action j'ai juste mis un alert pour verification ... n'oublie pas de le changer pour mettre le fichier de destination ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Pattern][Regex] vérifier que mon email est valide
    Par anitshka dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 23/05/2011, 13h03
  2. Verifier si le textarea est vide ou non
    Par marsupilami34 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/02/2009, 07h44
  3. Verifier si une chaine de caractere est situe dans une chaine de caractere
    Par gregounnet dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/07/2007, 15h31
  4. Réponses: 2
    Dernier message: 17/08/2005, 14h40
  5. verifier si une url est exacte
    Par romuluslepunk dans le forum Applets
    Réponses: 14
    Dernier message: 16/08/2005, 16h41

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