Can';似乎没有删掉所有的前导空格——JavaScript或jQuery

Can';似乎没有删掉所有的前导空格——JavaScript或jQuery,javascript,jquery,regex,string,trim,Javascript,Jquery,Regex,String,Trim,我试图用以下代码修剪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

我试图用以下代码修剪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; }

我做错了什么


默认的表达式不考虑多行,所以<代码> ^ 只匹配输入的最开始。您可以通过添加多行

/m
标志(总共
/gm
)来解决此问题

发件人:

^
匹配输入的开头。如果多行标志设置为true,则也会在换行符后立即匹配

$
匹配输入的结尾。如果多行标志设置为true,则也会在换行符之前立即匹配


^
字符仅在正则表达式的开头和内部字符类(
[…]
)中才有意义。从您粘贴的示例来看,代码似乎正是您想要的-删除了两个前导空格。你想在每一行输入中都这样做吗?@PawełChorążyk,这是我的目标,是的。我对正则表达式不太在行。今天早上我很累。我甚至没有意识到,当我实际询问一个正则表达式时,我标记了这个问题JavaScript/jQuery。对不起,伙计们,就是这样。我不知道有多行标志。我似乎误解了global flag的用途。我希望你也这么做,但它因语言而异(例如,
gsub
可以在Ruby中工作)。在JS中,
/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; }