どのようにして文字列の長さを取得しますか?


回答:


471

jqueryは必要ありませんyourstring.length。単にを使用してください。ここここのリファレンスを参照しください。

更新

Unicode文字列をサポートするには、長さを次のように計算する必要があります。

[..."𠮷"].length

または補助関数を作成する

function uniLen(s) {
    return [...s].length
}

6
私もそうでした、SOの喜び。
karim79

11
それはただの競争だと思う。:D
Arnis Lapsa 2010

11
Artem Barger-おそらく彼がJqueryの使用について尋ねたからでしょう。
2015年

2
Artem Barger-彼が私と同じことを探していたためか、HTMLタグに含まれるテキストの長さを取得する方法。私は初心者なので、コンテンツの入手方法はわかっていましたが、長さはわかりませんでした。その意味で、以下のジェネシスの答えはより良いです。
Adrian Pauly 2016年

1
"𠮷".length == 2。実際の文字数を取得するにはどうすればよいですか?
ピエールティボー

196

最も簡単な方法:

$('#selector').val().length

37
質問に答える唯一の答え。
mtntrailrunner 2013

5
どう?質問のどこにも彼は:input値から来る文字列について何も言わない
mkoryak

2
これもそうです:len = $('#selector').is('div') ? "someString".length : 0そして、同じくらい理にかなっています...
mkoryak '29

しかし、これはまだJavaScriptを使用していますか?@Artem Bargerの回答と同じ
Malcolm Salvador

41

jQueryはJavaScriptライブラリです。

基本的なJavaScript文字列オブジェクトプロパティであるため、文字列の長さを取得するためにjQueryを使用する必要はありません。

somestring.length;

13
「jQuery is a JavaScript library」という行を含めるための+1。jQueryは必要ないという回答がたくさんありますが、「jQuery」と「JavaScript」が2つの異なるものであると考える人を混乱させるかもしれません。
Grant Wagner、

22

HTML

<div class="selector">Text mates</div>

脚本

alert(jQuery('.selector').text().length);

結果

10



19

やや重要な違いは、要素が入力であるかどうかです。入力を使用できる場合:

$('#selector').val().length;

それ以外の場合、要素が段落やリストアイテムのdivなどの別のHTML要素である場合は、

$('#selector').text().length;

1
この質問の正解です。これは実際に定義され、「入力フィールド」または「テキスト」値の長さを取得する方法です。さらに、のようなhtmlの長さを取得することも可能$('#selector').html().lengthです。
オイゲン

13

それはあなたが必要とするjqueryではなく、JSです:

alert(str.length);

12

あなたがjavascriptでそれを行うのと同じ方法:

"something".length


1

jQueryでは:

var len = jQuery('.selector').val().length; //or 
( var len = $('.selector').val().length;) //- If Element is Text Box

または

var len = jQuery('.selector').html().length; //or
( var len = $('.selector').html().length; ) //- If Element is not Input Text Box

JSの場合:

var len = str.len;

1

場合によっては、String.lengthが画面に表示される実際の文字数とは異なる値を返すことがあります(たとえば、一部の絵文字は2つのUTF-16単位でエンコードされています)。

MDNのコメント:このプロパティ、文字列内のコード単位の数を返します。JavaScriptで使用される文字列形式であるUTF-16は、単一の16ビットコードユニットを使用して最も一般的な文字を表しますが、あまり使用されない文字には2つのコードユニットを使用する必要があるため、長さによって返される値は文字列の実際の文字数と一致しません

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.