JS Supprimer les espaces en début de ligne du chaine de caractère

Chaine de caractère multiligne à insérer dans un textarea :

Pour supprimer les espaces en début de ligne d’une chaine de caractères multilignes avec indentation comme du css :

script.js

const css = `.container{
	display:grid;
	grid-template-columns: repeat(3, 100px);
	grid-gap:20px;
}`;
document.querySelector("textarea").innerHTML = css.replace(/^\s*/gm, '');

L’objectif est d’insérer dans une balise textarea le code css sans avoir les espaces en début de ligne (ce qui rend le code moins lisible)

Quelques explications

Pour rappel, textarea se comporte comme la balise pre via à vis des espaces et des saut de lignes : il les affiche

Dans la méthode .replace(), noter les drapeaux à la fin du premier argument :

  • g : global et
  • m : multiligne

Remarques en plus sur textarea

La balise textarea fonctionne aussi comme la balise xmp :

  • les caractères spéciaux du html comme < >  » & … ne sont pas interpréter
  • donc possible d’y écrire du html ou du javascript sans avoir à transformer les chevrons en via &gt; , &lt; &amp; …