2

PHPを介してMYSQLデータベースからデータを取得するためにAJAXを使用しています。

ただし、結果が見つからない場合でも、変数には2つのスペースがあります。を使用して問題を見つけましたalert(data.length);。結果は2です。これは、2つのスペースがあることを意味します。

結果がない場合にメッセージを表示できるように、これらのスペースを削除するにはどうすればよいif(data == ''){}ですか?

ありがとうございました!

4

7 に答える 7

8

これは文字列トリミングと呼ばれます。そして、これが純粋なJavaScriptでのそのための1つのオプションです。

var len = data.replace(/\s/g, "").length;

ただし、最近のブラウザには、trim()そのための文字列関数があります。

var len = data.trim().length;
于 2012-11-28T20:20:00.743 に答える
3

そもそもなぜこの2つの空きスペースがあるのか​​理解できません。それがあなたにとって適切なオプションであるならば、私は原点にあるそれらのスペースを削除しようとするので、サーバーの応答から。

String.prototype.trimそれが不可能な場合は、先頭/末尾の空白を削除するために使用できます。これにより、以下のように小切手を書くことができます

if (data.trim().length === 0) {
  ...
}
于 2012-11-28T20:20:34.710 に答える
1
var str = "lots of whitespace";
str.replace(/\s+/g, ''); // 'lotsofwhitespace'
于 2012-11-28T20:20:44.167 に答える
1

トピックが深くカバーされているこの投稿を参照してください。jQueryを使用する場合$.trim()は、組み込みのjQueryを使用できます。

于 2012-11-28T20:21:20.780 に答える
1

変数が次の場合はdataこれを試してください

    data.replace(/\s+/g, '');

必要に応じて他の変数に割り当てます

data2 = data.replace(/\s+/g, '');
于 2012-11-28T20:22:42.523 に答える
1

3つのオプション:

var strg = "there is space";
strg.replace(/\s+/g, ' ');

また:

$.trim()

また:

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

var strg = "there is space";
strg.trim();
于 2012-11-28T20:22:42.820 に答える
0

data = data.split(' ').join('')文字列からすべてのスペースを削除します。

于 2018-04-26T05:36:11.777 に答える