1

次のように文字列を調整する必要があります。

調整が必要なケース:

Case a: "        ", becomes ""
Case b: "z       ", becomes "z"
Case c: "        z", becomes "z"

調整してはいけないケース:

ケース d: " z "、同じまま

Case e: "zzz zz          zzz", stays the same

javascriptでこれを達成するにはどうすればよいですか?

4

4 に答える 4

1

trim関数を使用するだけで十分です。しかしstring.trim();、すべてのブラウザで動作するわけではありません...

これを試して:

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

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

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

String.prototype.fulltrim=function(){return this.replace(/(?:(?:^|\n)\s+|\s+(?:$|\n))/g,'').replace(/\s+/g,' ');};

新しいブラウザ (IE9+) は既に実装されているため、Prototype-Object でまだ利用できない場合にtrim()のみ実装する必要があります (オーバーライドするとパフォーマンスが大幅に低下します)。trim()これは、ネイティブ オブジェクトを拡張する場合に一般的に推奨されます。ES5 を使用しない限り、追加されたプロパティは列挙可能であることに注意してくださいObject.defineProperty

if (!String.prototype.trim) {
   //code for trim
}
于 2013-11-15T00:46:37.707 に答える