修改领先空间的正则表达式

时间:2014-01-22 16:09:19

标签: javascript regex

我在jsFiddle中有这个正则表达式,效果很好(带有一些标点符号的字母数字)但我想删除前导空格,同时仍允许其他地方使用空格。我需要改变什么?

var TheCleanString = TheInput.replace(/[^a-zA-Z0-9 \\s\(\)\.\-]+/g, '');

4 个答案:

答案 0 :(得分:1)

如果你想用单一的RegExp来做,这是我的建议:

TheInput.replace(/(^\s+|[^a-zA-Z0-9 \\s\(\)\.\-]+)/g, '');

<强> Demo on jsFiddle

但如果我是你,我会使用多种replace方法,因为它更容易理解代码:

TheInput.replace(/[^a-zA-Z0-9 \\s\(\)\.\-]+/g, '').replace(/^\s+/, '');

答案 1 :(得分:0)

搜索^ [\ t] +并删除任何内容以删除前导空格(空格和制表符)

扯掉:http://www.regular-expressions.info/examples.html

-

另一种选择是使用trim()

答案 2 :(得分:0)

您应该使用^来标记字符串的开头。

你可以使用这样的东西。用$ 1替换它将为您提供不带前导空格的字符串。

^[ ]+(.*)

答案 3 :(得分:0)

查找:

 #  /(?:^\s+|[^a-zA-Z0-9\s().-]+)/

 (?: ^ \s+ | [^a-zA-Z0-9\s().-]+ )

替换:
     &#39;&#39;