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 :

bug fonction replace


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut bug fonction replace
    Bonsoir,

    j'utilise un code js qui bugge pour certaines valeurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var unitFont = sizeFont.replace(/(.[0-9])/g, '');
    sizeFont contient un nombre suivi d'une unité ; cette fonction est donc censée isoler l'unité, mais elle ne marche pas si le nombre contient un seul caractère.
    Exemple : 9pt -> 9pt
    alors que 10pt -> pt

    Quel est le souci ?

  2. #2
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sizeFont.replace( /([0-9]*)/g , '');

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Merci de ton aide.

  4. #4
    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
    Billets dans le blog
    20
    Par défaut
    Pour info
    recherche n'importe quel caractère (le ".") puis un chiffre.
    S'il n'y a qu'un seul chiffre, il n'est donc pas précédé de n'importe quel caractère et ton expression ne trouve pas de correspondance.
    Du coup,
    bug fonction replace
    le bug ne se trouve pas là où tu pensais...

    @Will : le quantificateur ("*") n'est pas particulièrement utile du fait du drapeau "g", ni d'ailleurs le groupe capturant (vu qu'on ne se sert pas des éléments capturés)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sizeFont.replace( /[0-9]/g , '');
    est donc largement suffisant, voire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sizeFont.replace( /\d/g , '');
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Citation Envoyé par Bovino Voir le message
    @Will : le quantificateur ("*") n'est pas particulièrement utile du fait du drapeau "g", ni d'ailleurs le groupe capturant (vu qu'on ne se sert pas des éléments capturés)
    Arg, oui, les RegExp sont et resteront toujours MA bête noire !
    Tu viens de gâcher mon plaisir de pour une fois avoir su apporter une réponse à une RegExp.

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sizeFont.replace( /[0-9]/g , '');
    est donc largement suffisant, voire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sizeFont.replace( /\d/g , '');
    il faut néanmoins tenir compte de l'unité en em qui est souvent utilisée avec des nombres décimaux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var unitFont = sizeFont.replace(/[.,0-9]/g, '');
    ou un truc pas loin...

  7. #7
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Merci pour vos réponses, mais comme je ne m'y connais pas tellement, j'aurais besoin de quelques explications :
    - le /g sert à quoi ?
    - le * de Willpower, il fait quoi ?
    - explication de la regexp de NoSmoking, et quelle est la particularité des em ?

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

Discussions similaires

  1. [RegExp] Bug de la fonction replace ?
    Par sevine06 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/07/2010, 09h13
  2. [ODBC] Fonction Replace en ODBC
    Par Alexandre T dans le forum Access
    Réponses: 4
    Dernier message: 10/01/2007, 11h02
  3. Fonction replace
    Par pmboutteau dans le forum ASP
    Réponses: 11
    Dernier message: 10/06/2005, 09h42
  4. PB avec la fonction replace
    Par Techman128 dans le forum C++
    Réponses: 6
    Dernier message: 24/02/2005, 11h39
  5. Fonction replace
    Par PrinceMaster77 dans le forum ASP
    Réponses: 5
    Dernier message: 10/06/2004, 12h18

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