Javascript - 杀死字符串前的空白区域

时间:2012-07-31 23:19:15

标签: javascript string space

我做了一些服务器请求,服务器用字符串前面有很多空格的字符串回复我。字符串是USERNAME EXIST

我知道如何使用它:

String.prototype.killWhiteSpace = function() {
return this.replace(/\s/g, '');};

String.prototype.reduceWhiteSpace = function() {
return this.replace(/\s+/g, ' ');};

但第一个第一个回答我USERNAMEEXISTS,第二个回答“USERNAME EXIST”(在字符串前面有一个空格)。 有没有办法杀死字符串前后的所有空格?

2 个答案:

答案 0 :(得分:1)

使用^匹配字符串的开头,使用$匹配正则表达式中的结尾:

String.prototype.killWhiteSpace = function() {
    return this.replace(/^\s*|\s*$/g, '');
};

通常剥离空格称为trim ming,并且已在现代浏览器中本机实现。所以你可能想用这个:

String.prototype.trim = String.prototype.trim || 
  function() {
      return this.replace(/^\s*|\s*$/g, '');
  };

如果trim尚未存在,将为{{3}}创建一个垫片,否则它将保留本机实现(速度更快)。

答案 1 :(得分:0)

字符串修剪是一个有趣的主题。有些浏览器可以优于其他浏览器优化某些正则表达这是一篇好文章:http://blog.stevenlevithan.com/archives/faster-trim-javascript

我通常使用该文章中的第一种方法:

String.prototype.killWhiteSpace = function() {
  return this.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
};

请注意,本文(以及此解决方案)侧重于性能。这可能对你很重要,也可能不重要,这里的其他答案肯定符合要求。