0

私はいくつかのサーバー要求を作成し、サーバーは文字列の前に多くのスペースがある文字列で私に返信します。文字列は USERNAME EXIST です

私はこれを使用する方法を知っています:

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

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

しかし、最初は最初に USERNAMEEXISTS と答え、2 番目は "USERNAME EXIST" (文字列の前に 1 つのスペースを付けて) に答えます。文字列の前後のすべての空白を削除する方法はありますか?

4

2 に答える 2

1

^文字列の先頭を$照合し、正規表現で文字列の末尾を照合するために使用します。

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

通常、空白の削除はトリミングと呼ばれ、最近のブラウザではすでにネイティブに実装されています。したがって、これを使用することをお勧めします。

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

トリム用のシムがまだ存在しない場合は作成されます。それ以外の場合は、ネイティブ実装(はるかに高速)がそのまま残ります。

于 2012-07-31T23:24:04.490 に答える
0

弦のトリミングは興味深いテーマです。一部のブラウザは、特定の正規表現を他のブラウザよりも最適化できます。ここに良い記事があります: http://blog.stevenlevithan.com/archives/faster-trim-javascript

私は通常、その記事の最初の方法を使用します。

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

この記事 (およびこのソリューション) は、パフォーマンスに焦点を当てていることに注意してください。それはあなたにとって重要かもしれませんし、そうでないかもしれません、そしてここでの他の答えは確かに法案に適合します.

于 2012-07-31T23:22:05.433 に答える