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 :

Interdire des mots [RegExp]


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Points : 92
    Points
    92
    Par défaut Interdire des mots
    Bonjour tout le monde,

    Je cherche à interdire des mots lors de la validation d'un formulaire.
    J'ai fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var reg = /\b(charlatan|charlatans|minable|minables|escroquerie|escroqueries|voleurs|voleur|voleuses|voleuse|arnaque|arnaques|arnaqueur|arnaqueurs|arnaquer|arnaquee|menteur|menteurs|menteuse|menteuses|degueulasse|degueu|escroc|escrocs|pitoyable|cons|conne|malhonnetes|malhonnete|desastre|execrable|merde|foutage|gueule|con)\b/;
    var desc_avis = jQuery.trim(formulaire.desc_avis.value);
    var result = reg.exec(desc_avis);
    if ( result ) {alert("Vous avez saisi des mots non autorisés, merci de corriger !");}
    Avec ce que j'ai fait, voici ce qui fonctionne :
    "cons" (bien bloqué) ; "consensuel" (ca passe) ; "conséquence" (ca passe)

    Par contre, si je suis dans une phrase, ca me bloque pas, comme par exemple
    "ses cons"

    Auriez vous une idée de comment faire ça ?

    Merci beaucoup !

  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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    test pas exec !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var result = reg.test(desc_avis);

  3. #3
    Membre régulier Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Points : 92
    Points
    92
    Par défaut
    Je viens modifier puis de tester avec
    "c'est des cons"

    Je ne suis pas bloqué

  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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script>
    var reg = /\b(charlatan|charlatans|minable|minables|escroquerie|escroqueries|voleurs|voleur|voleuses|voleuse|arnaque|arnaques|arnaqueur|arnaqueurs|arnaquer|arnaquee|menteur|menteurs|menteuse|menteuses|degueulasse|degueu|escroc|escrocs|pitoyable|cons|conne|malhonnetes|malhonnete|desastre|execrable|merde|foutage|gueule|con)\b/;
    var desc_avis = "c'est des cons" //jQuery.trim(formulaire.desc_avis.value);
    var result = reg.test(desc_avis);
    if ( result ) {alert("Vous avez saisi des mots non autorisés, merci de corriger !");}
    else{alert("Merci de votre courtoisie!");}
    reg.test('')
     
    </script>

  5. #5
    Membre régulier Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Points : 92
    Points
    92
    Par défaut
    Je viens de tester, malheureusement, quand je met "conséquence", il me le bloque aussi !! Vous également ?

  6. #6
    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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function censure(chaine){
    var reg = /\b(charlatan|charlatans|minable|minables|escroquerie|escroqueries|voleurs|voleur|voleuses|voleuse|arnaque|arnaques|arnaqueur|arnaqueurs|arnaquer|arnaquee|menteur|menteurs|menteuse|menteuses|degueulasse|degueu|escroc|escrocs|pitoyable|cons|conne|malhonnetes|malhonnete|desastre|execrable|merde|foutage|gueule|con)\b/g;
    var desc_avis = chaine; // //jQuery.trim(formulaire.desc_avis.value);
    var result = reg.test(desc_avis);
    if ( result ) {alert("Vous avez saisi des mots non autorisés, merci de corriger !");}
    else{alert("Merci de votre courtoisie!");}
    reg.test('')
    }
     
    censure('ce sont des cons')
    censure ('ce sont des constats')

  7. #7
    Membre régulier Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Points : 92
    Points
    92
    Par défaut
    C'est a tomber fou :

    c'est la conséquence
    Ne passe pas

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Normal, é n'est pas un caractère valable pour un mot au sens des expressions régulières, il matche donc pour \b et tu te retrouve... avec cons

  9. #9
    Membre régulier Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Points : 92
    Points
    92
    Par défaut
    Oué, j'avais remarqué ça, mais comment je peux faire que ca fonctionne même avec les accents ?
    merci

  10. #10
    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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    non c'est a cause des accents considérés comme faisant partie des \b

  11. #11
    Membre régulier Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Points : 92
    Points
    92
    Par défaut
    J'ai essayé de virer les accents, mais ca semble pas marcher ou alors j'ai pas une bonne fonction

  12. #12
    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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    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
    <script type='text/javascript' charset='utf-8'>
    function censure(chaine){
    conv={'á':'a','â':'a','â':'a','é':'e','ê':'e','è':'e','ë':'e','î':'i','ï':'i','ö':'o','ô':'o','ù':'u','û':'u','ü':'u'};
     
    chaine=chaine.replace(/[áââéêèëîïöôùûü]/g,function($1){return conv[$1]})
    var reg =/\b(charlatan|charlatans|minable|minables|escroquerie|escroqueries|voleurs|voleur|voleuses|voleuse|arnaque|arnaques|arnaqueur|arnaqueurs|arnaquer|arnaquee|menteur|menteurs|menteuse|menteuses|degueulasse|degueu|escroc|escrocs|pitoyable|cons|conne|malhonnetes|malhonnete|desastre|execrable|merde|foutage|gueule|con)\b/
    var desc_avis = chaine; // //jQuery.trim(formulaire.desc_avis.value);
    var result = reg.test(desc_avis);
    if ( result ) {alert("Vous avez saisi des mots non autorisés, merci de corriger !");}
    else{alert("Merci de votre courtoisie!");}
    reg.test('')
    }
     
    censure('ce sont des cons')
    censure ("ce sont des conséquences")
    </script>

  13. #13
    Membre régulier Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Points : 92
    Points
    92
    Par défaut
    Vraiment un grand grand merci pour ton aide !!!
    Merci

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

Discussions similaires

  1. [MySQL] Interdire des mots
    Par spespam dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 21/07/2008, 16h21
  2. Comment changer des mots dans un fichier?
    Par ptitbonum dans le forum Linux
    Réponses: 5
    Dernier message: 07/04/2004, 23h42
  3. Mettre la première lettre des mots en majuscule
    Par seb.49 dans le forum Langage
    Réponses: 8
    Dernier message: 23/05/2003, 14h26
  4. Au sujet des mots de passe
    Par FranT dans le forum Langage
    Réponses: 6
    Dernier message: 17/09/2002, 22h16

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