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 :

Exclure l'apostrophe d'un compteur de mots


Sujet :

JavaScript

  1. #1
    Membre �clair�
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    F�vrier 2006
    Messages
    291
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Webmaster
    Secteur : Communication - M�dias

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 291
    Par d�faut Exclure l'apostrophe d'un compteur de mots
    Bonjour,

    J'ai un petit compteur de mots qui fonctionne avec JS, et qui excue les balises HTML.
    Je me suis aper�u en revanche qu'il prend en compte les apostrophes, contrairement aux traitements de texte.
    Par exemple, avec Word ou �quivalent : l'appel --> 1 mot. Mon compteur en compte 2.
    Je n'arrive pas � faire cette exclusion de l'apostrophe. J'ai essay� la suppression de l'apostrophe avec chaine.replace("'", "" ), mais cela n'est effectif que sur la premi�re expression trouv�e.

    Voici le code inclu dans la fonction :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    reg=new RegExp("<.[^<>]*>", "gi" );
    chaine=chaine.replace(reg, "" );
    var exp=new RegExp("[a-zA-Z0-9éèêëàáâäóòôöíìîïçÉÈÊËÀÁÂÄÒÓÔÖÌÍÎÏÇ-]+","g");
    var tabNom=chaine.match(exp);
    if (tabNom==null) {post.compte.value = "0 mot";}
    Avez-vous une piste � me proposer ? Merci d'avance.

  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 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    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 659
    Billets dans le blog
    1
    Par d�faut
    mais cela n'est effectif que sur la premi�re expression trouv�e.
    tu as oubli� le g ?
    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 �clair�
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    F�vrier 2006
    Messages
    291
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Webmaster
    Secteur : Communication - M�dias

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 291
    Par d�faut
    en fait, je viens d'y arriver en ajoutant ces 2 lignes, mais je ne suis pas certain que ce soit tr�s propre et optimal :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    	reg2=new RegExp("'", "gi" );
    	chaine=chaine.replace(reg2, "" );

  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 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    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 659
    Billets dans le blog
    1
    Par d�faut
    Si tu le remplaces par rien, le mot apostroph� devient un seul mot au lieu de deux ...

    "l'apostrophe" devient "lapostrophe"

    le insensitive ne sert pas � grand chose il n'existe pas d'apostrophe Majsucule ...

    Mais sinon le code de remplacement est correct, tout d�pend � quel moment tu l'intercales dans ton code ...
    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 �clair�
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    F�vrier 2006
    Messages
    291
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Webmaster
    Secteur : Communication - M�dias

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 291
    Par d�faut
    Citation Envoy� par SpaceFrog Voir le message
    Si tu le remplaces par rien, le mot apostroph� devient un seul mot au lieu de deux
    Oui, c'�tait l'id�e, je ne sais pas s'il y a une fonction plus propre pour �luder le signe apostrophe.

    le insensitive ne sert pas � grand chose il n'existe pas d'apostrophe Majsucule
    En effet, j'enl�ve de "i" de ce pas ! Merci !

  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 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    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 659
    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
    chaine="On sait depuis longtemps que travailler avec du texte lisible et contenant du sens est source de distractions, et empêche de se concentrer sur la mise en page elle-même. L'avantage du Lorem Ipsum sur un texte générique comme 'Du texte. Du texte. Du texte.' est qu'il possède une distribution de lettres plus ou moins normale, et en tout cas comparable avec celle du français standard. De nombreuses suites logicielles de mise en page ou éditeurs de sites Web ont fait du Lorem Ipsum leur faux texte par défaut, et une recherche pour 'Lorem Ipsum' vous conduira vers de nombreux sites qui n'en sont encore qu'à leur phase de construction. Plusieurs versions sont apparues avec le temps, parfois par accident, souvent intentionnellement (histoire d'y rajouter de petits clins d'oeil, voire des phrases embarassantes).";
    reg=new RegExp("<.[^<>]*>", "gi" );
    chaine=chaine.replace(reg, "" );
     
    chaine=chaine.replace(/'/g,"");
    console.log(chaine);
    var exp=new RegExp("[a-zA-Z0-9éèêëàáâäóòôöíìîïçÉÈÊËÀÁÂÄÒÓÔÖÌÍÎÏÇ-]+","g");
    var tabNom=chaine.match(exp);
    console.log(tabNom.length);
    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 !

  7. #7
    Membre �clair�
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    F�vrier 2006
    Messages
    291
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Webmaster
    Secteur : Communication - M�dias

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 291
    Par d�faut
    Super, merci !

    Pendant que j'y suis, j'essaie d'incr�menter un seul input de comptage mais en comptant les mots de deux textarea.
    Le code du JS est le m�me (pour l'instant), je n'arrive pas trop � r�cup�rer les 2 donn�es pour les assembler en une.

    Voici le code du formulaire :
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    <textarea name='chapo' id='chapo' onkeyup='Compter(this.form.chapo.value, this.form)' onfocus='Compter(this.form.chapo.value, this.form)'></textarea>
    <textarea name='texte' id='texte' onkeyup='Compter(this.form.texte.value, this.form)' onfocus='Compter(this.form.texte.value, this.form)'></textarea>
    <input type='text' name='compte' value='' size='10' class='count' readonly />

    Pour l'instant, le input donne le nombre de mots du chapo ou du texte, selon que l'on clique sur l'un ou l'autre des textarea. Une petite id�e ?

  8. #8
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Bonjour,
    est-ce qu'un simple :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    const nbMots = chaine.split("");
    ou
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    const nbMots = chaine.split(/\s/g);
    ne suffirait pas ?

  9. #9
    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 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    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 659
    Billets dans le blog
    1
    Par d�faut
    J'aurais plutot tent� un split sur \b
    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 !

  10. #10
    Membre �clair�
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    F�vrier 2006
    Messages
    291
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Webmaster
    Secteur : Communication - M�dias

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 291
    Par d�faut
    Merci � vous deux, en effet const tabNom = chaine.split(/\s/g); est une solution plus courte pour compter les mots en �vitant les balises HTML et les apostrophes, mais elle compte certaines ponctuations, comme le point d'exclamation.

  11. #11
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    mais elle compte certaines ponctuations, comme le point d'exclamation.
    Dans ce cas il faut toutes les supprimer avant le split(), par exemple :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    // supprime punctuation (and symbols)
    chaine = chaine.replace(/[!"\#$%&'()*+,\-./:;<=>?@\[\\\]^_‘{|}~]/g,"");
    // découpage suivant espace(s)
    nbMots = chaine.split(/\s+/g);
    � voir si il n'y en a pas d'autres � ajouter, mais CosmoKnacki passera peut-�tre par l� !

    nota : sur ce coup la coloration du code a du mal

  12. #12
    Membre �clair�
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    F�vrier 2006
    Messages
    291
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Webmaster
    Secteur : Communication - M�dias

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 291
    Par d�faut
    J'avoue que j'aime moins cette solution, qui incr�mente un mot � chaque nouvel espace. Au final, on obtient un bon r�sultat, mais � l'�criture, c'est un peu bizarre.
    Merci toutefois pour cette suggestion.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. un compteur de mots sur CKeditor
    Par shelko dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 29/10/2012, 09h05
  2. [D�butant] Compteur de mots
    Par olivier1209 dans le forum Langage
    R�ponses: 1
    Dernier message: 27/02/2010, 23h40
  3. compteur de mots pour traitement de texte
    Par kimz dans le forum Autres Logiciels
    R�ponses: 1
    Dernier message: 22/09/2008, 16h12
  4. R�ponses: 1
    Dernier message: 14/12/2007, 09h36
  5. [VBA-W]Un compteur de mots dans Word
    Par QAPi dans le forum VBA Word
    R�ponses: 3
    Dernier message: 30/03/2006, 13h49

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