Partage
  • Partager sur Facebook
  • Partager sur Twitter

replace() et les signes

Sujet résolu
    20 juillet 2017 à 16:18:17

    Bonjour j'ai crée une fonction seulement j’aimerais remplacer -- --- , ; : ! ? . par - et cela ne fonctionne pas. Une idées? Merci d'avance!! 

    function url(elem) {
                            //transform en lowercase
                            var str = elem.toLowerCase();
                            //del tout les caractére "blanc"
                            var strNoEsp = str.replace(/\s/g, '-');
    
                            var strUrl = strNoEsp.replace(/--|---|.|:|'|,|!|;/g, '-');
    
                            return strUrl;
                        }

    Si elem = Le .htaccess et ses fonctionnalités

    strNoEsp donne = Le-.htaccess-et-ses-fonctionnalités

    strUrl donne = --------------------- (j'ai pas compter hein ^^ )

    -
    Edité par HadockB 20 juillet 2017 à 16:20:17

    • Partager sur Facebook
    • Partager sur Twitter
    My Website - 
    Anonyme
      21 juillet 2017 à 15:04:41

      Pourrais tu passer tout ton code car avec aussi peu de code c'est difficile de s'y retrouver
      • Partager sur Facebook
      • Partager sur Twitter
        21 juillet 2017 à 15:40:03

        Heu je comprend pas pourquoi tu as besoin de plus vue que la fonction est la et qu'en dessous j'ai mis un exemple :euh: enfin bon voici le script en entier; a noter que j'ai trouvé finalement :

        //fonction qui del les espaces et passe les titres en url
                            function url(elem) {
                                //transform en lowercase
                                var str = elem.toLowerCase();
                                //del tout les caractére "blanc"
                                var str = str.replace(/\s/g, '-');
                                var str = str.replace(/\.|:|'|,|!|;/g, '-');
                                var str = str.replace('---', '-');
                                var str = str.replace('--', '-');
                                //remplace les accents
                                var str = str.replace(/\é|è/g, 'e');
                                var str = str.replace(/\à/g, 'a');
                                var str = str.replace(/\ç/g, 'c');
        
                                for (var i = str.length-1; str.charAt([i]) == '-';) {
                                    var str = str.substring('', str.length-1);
                                }
        
                                return str;
                            }
        
                            // objet modéle
                            var courObj = {
                                init : function (titre, pcent) {
                                    this.titre = titre;
                                    this.pcent = pcent;
                                }
                            };
        
                            //tableaux de données
                            var cours = [
                                'Le .htaccess et ses fonctionnalités',
                                'Apprenez à coder avec JavaScript',
                                'DOMXML - Flux RSS de news',
                                'Faire l\'inventaire de ses compétences',
                                'Gérez votre projet informatique facilement !',
                                'Découvrez le fonctionnement des algorithmes',
                                'Dynamisez vos sites web avec JavaScript !',
                                'Concevez votre site web avec PHP et MySQL',
                                'Maquettez votre site responsive avec Photoshop',
                                'Decouvrez les fondamentaux de l\'UX Design',
                                'Composez des interfaces utilisateurs en Material Design',
                                'Gérez un projet digital avec une méthodologie en cascade'
                            ];
        
                            var percents = [
                                '100',
                                '100',
                                '100',
                                '100',
                                '100',
                                '100',
                                '29',
                                '11',
                                '0',
                                '0',
                                '0',
                                '0'
                            ];
        
                            // création des variable pour la création du visuel
                            var grid = document.getElementById('grid');
        
        
                            //boucle de création
                            for (var i= 0, c=cours.length; i<c; i++) {
        
                                //objet
                                var cour = Object.create(courObj);
                                cour.init(cours[i], percents[i]);
        
                                //visuel init
                                var elem = document.createElement('div');
                                elem.className = 'media';
                                var elem2 = document.createElement('div');
                                elem2.className = 'media-body';
                                var elem3 = document.createElement('h4');
                                elem3.className = 'media-heading';
                                var elem4 = document.createElement('div');
                                elem4.className = 'progress';
                                var elem5 = document.createElement('div');
        
                                if (cour.pcent<50 && cour.pcent>1) {
                                    elem5.className = 'progress-bar progress-bar-warning progress-bar-striped';
                                } else if (cour.pcent>50) {
                                    elem5.className = 'progress-bar progress-bar-success progress-bar-striped';
                                } else {
                                    elem5.className = 'progress-bar progress-bar-info progress-bar-striped';
                                }
        
                                elem5.role = 'progressbar';
                                elem5.setAttribute('aria-valuenow', cour.pcent);
                                elem5.setAttribute('aria-valuemin', '0');
                                elem5.setAttribute('aria-valuemax', '100');
                                var elem6 = document.createElement('a');
                                var urlTemp = url(cour.titre);
                                elem6.href = 'https://openclassrooms.com/courses/' + urlTemp;
                                elem6.setAttribute('target', '_blank');
                                elem6.style.color = 'white';
                                var elem7 = document.createElement('i');
                                elem7.className = 'fa fa-link';
                                elem7.style.paddingRight = '5px';
                                //ajoute le % à la fin du chiffre
                                cour.pcent += '%';
                                elem5.style.width = cour.pcent;
                                elem5.style.minWidth = '2em';
                                var elemText = document.createTextNode(cour.pcent);
                                var elemTitre = document.createTextNode(cour.titre);
                                //visuel placement
                                grid.appendChild(elem);
                                elem.appendChild(elem2);
                                elem2.appendChild(elem3);
                                elem2.appendChild(elem4);
                                elem4.appendChild(elem5);
                                elem3.appendChild(elem7);
                                elem3.appendChild(elem6);
                                elem6.appendChild(elemTitre);
                                elem5.appendChild(elemText);
        
                            }



        • Partager sur Facebook
        • Partager sur Twitter
        My Website - 
          21 juillet 2017 à 16:17:53

          Rajoute un \ ici |\.| dans ton replace().

          -
          Edité par Alrìk 21 juillet 2017 à 16:19:02

          • Partager sur Facebook
          • Partager sur Twitter

          replace() et les signes

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown