我正在尝试使用以下代码修剪textarea输入框中的所有前导空白:

replaceString = replaceString.replace(/^\s+|^\t+|\t+|\s+$/g, "");


当我这样做时,我从

    .map_image #map_link_0 { width: 40px; height: 42px; top: 11px; left: 11px; }
    .map_image #map_link_1 { width: 47px; height: 42px; top: 62px; left: 19px; }




.map_image #map_link_0 { width: 40px; height: 42px; top: 11px; left: 11px; }
 .map_image #map_link_1 { width: 47px; height: 42px; top: 62px; left: 19px; }


我究竟做错了什么?

JSFiddle

最佳答案

默认情况下,表达式不考虑多行,因此^仅匹配输入的最开始。您可以通过添加多行/m标志(总计/gm)来解决此问题。

Mozilla's JS RE docs


  ^匹配输入的开始。如果多行标志设置为true,则也将在换行符后立即匹配。
  
  $匹配输入结尾。如果多行标志设置为true,则也将在换行符前紧接匹配。

10-04 20:10