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 :

V�rification du texte saisie dans le champ


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    161
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 161
    Par d�faut V�rification du texte saisie dans le champ
    Bonjour,

    J'ai ma fonction qui permet de v�rifier si les caract�res d�finis dans la regex sont bien saisis.
    Ce que je voulais faire c'est autoris� uniquement les caract�res d�finis dans l'expression rationnelle.
    Le probl�me est qu'elle marche pour certains caract�res mais pas d'autres. Par exemple je ne veux pas qu'on saisisse le caract�re /.

    Ci-dessous mon 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
     
     
    function verif_text(field){
        var texte = new RegExp("[a-zA-Z0-9 .,-=+?]");
        var chk;
        var num = 0;
     
        for(x = 0; x < field.value.length; x++){
            chk = texte.test(field.value.charAt(x));
            if(field.value.charAt(x) == "."){num++;}
            if(num > 1){chk = false; num = 1;}
            if(chk == false){field.value = field.value.substr(0,x) + field.value.substr(x+1,field.value.length-x+1); x--;}
        }
    }
    Merci par avance

  2. #2
    Membre Expert
    Avatar de Doksuri
    Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2006
    Messages
    2 493
    D�tails du profil
    Informations personnelles :
    �ge : 55
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 493
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de D�veloppez !

  3. #3
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    161
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 161
    Par d�faut
    Bonjour @Doksuri,

    Merci d'avoir le temps de me r�pondre.
    Mais ton expression ne marche pas car je ne peux m�me pas de saisir des chiffres et des lettres.
    Je veux autoriser que ces caract�res : [a-zA-Z0-9 .,-=+?].

    Merci

  4. #4
    Membre Expert
    Avatar de Doksuri
    Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2006
    Messages
    2 493
    D�tails du profil
    Informations personnelles :
    �ge : 55
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 493
    Par d�faut
    mon expression repond a ton besoin. je l'ai teste sur regex101.com (le lien que je t'ai donne... l'as-tu clique ?)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de D�veloppez !

  5. #5
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    161
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 161
    Par d�faut
    Oui je l'ai bien test� mais elle ne marche pas dans ma fonction.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    function verif_text(field){
        var texte = new RegExp("[\w \.,\-=+?]+");
        var chk;
        var num = 0;
     
        for(x = 0; x < field.value.length; x++){
            chk = texte.test(field.value.charAt(x));
            if(field.value.charAt(x) == "."){num++;}
            if(num > 1){chk = false; num = 1;}
            if(chk == false){field.value = field.value.substr(0,x) + field.value.substr(x+1,field.value.length-x+1); x--;}
        }
    }

  6. #6
    Membre Expert
    Avatar de Doksuri
    Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2006
    Messages
    2 493
    D�tails du profil
    Informations personnelles :
    �ge : 55
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 493
    Par d�faut
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <html>
    <head>
        <title>test dvp</title>
        <script type="text/javascript" src="script.js"></script>
    </head>
    <body>
    <textarea id="test"></textarea>
    <input type="button" onclick="verif_text(document.getElementById('test'));" value="test" />
     
    </body>
    </html>

    Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    function verif_text(field){
        var reg = new RegExp(/[\w \.,\-=+?]/);
        for(i=0; i<field.value.length; i++){
            if(!reg.test(field.value[i])) {
                alert(field.value[i] + " n'est pas autorise !");
            }
        }
    }
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de D�veloppez !

  7. #7
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    161
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 161
    Par d�faut
    Je souhaiterais directement sur l'input sans passer par un button.
    Je ne veux pas autoriser de / ni \ et tous les caract�res accentu�s.
    Voici la liste des caract�res autoris�s : abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890?,=+.-

    Si possible au lieu d'afficher une alert je pr�f�re emp�cher l'utilisateur de saisir le caract�re non autoris�. C-�-d m�me s'il appuie sur un caract�re rien ne s'affiche dans l'input. Merci

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    <input type="text" onkeyup="verif_text(this);">
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    function verif_text(field){
        var reg = new RegExp(/[\w \.,\-=+?]/);
        for(i=0; i<field.value.length; i++){
            if(!reg.test(field.value[i])) {
                alert(field.value[i] + " n'est pas autorise !");
            }
        }
    }

  8. #8
    Membre Expert
    Avatar de Doksuri
    Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2006
    Messages
    2 493
    D�tails du profil
    Informations personnelles :
    �ge : 55
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 493
    Par d�faut
    Citation Envoy� par dinolam81 Voir le message
    Je souhaiterais directement sur l'input sans passer par un button.
    Je ne veux pas autoriser de / ni \ et tous les caract�res accentu�s.
    Voici la liste des caract�res autoris�s : abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890?,=+.-

    Si possible au lieu d'afficher une alert je pr�f�re emp�cher l'utilisateur de saisir le caract�re non autoris�. C-�-d m�me s'il appuie sur un caract�re rien ne s'affiche dans l'input. Merci
    je t'ai fais un textarea + button pour l'exemple, a toi de faire comme tu veux.
    dans l'exemple / et \ ne sont pas autorises
    au lieu d'afficher une alert (qui etait pour la demo) tu peux faire ce que tu veux.

    conclusion :
    je t'ai fournis une demo qui repond a ton besoin de regexp (regexp reprise de ma 1ere reponse).
    mais non, je ne ferai pas le travail a ta place.
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de D�veloppez !

  9. #9
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    161
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 161
    Par d�faut
    Le test que j'ai fait avec ton code ne marche pas de mon c�t�.
    Je peux saisir n'importe quel caract�re.

  10. #10
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par d�faut
    Ben c'est normal, il te faut adapter le code qui t'a �t� fourni...

    J'avais post� un code traitant un exemple similaire � ton cas ici #2.

Discussions similaires

  1. calcul des nombres saisies dans des champs text
    Par saramery dans le forum Langage
    R�ponses: 7
    Dernier message: 26/01/2010, 13h27
  2. Desactiver l'assistance a la saisie dans un champ texte
    Par messier79 dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 2
    Dernier message: 03/10/2008, 18h14
  3. R�ponses: 2
    Dernier message: 09/09/2008, 09h28
  4. Detecter la saisie dans un champ input text
    Par suckthewindow dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 5
    Dernier message: 21/08/2008, 11h52
  5. Modification d'une combo suite � la saisi dans un champ texte
    Par GabriHell dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 16/05/2006, 17h48

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