如何获得字符串的长度?


Answers:


471

您不需要jQuery,只需使用即可yourstring.length。请参阅此处此处的参考。

更新

为了支持unicode字符串,需要按以下方式计算长度:

[..."𠮷"].length

或创建辅助功能

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

6
我也是,哦,SO的欢乐。
karim79 2009年

11
我敢打赌,这只是竞争。:D
Arnis Lapsa

11
Artem Barger-可能是因为他询问有关使用Jquery的问题。
周期性的

2
Artem Barger-可能是因为他在寻找与我相同的东西:一种获取HTML标记中包含的文本长度的方法。我是一个初学者,所以我知道如何获取内容,但不知道其长度。从这个意义上讲,下面的创世纪答案会更好。
阿德里安

1
"𠮷".length == 2。我们如何获得实际的字符数?
皮埃尔·锡伯

196

最简单的方法:

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

37
回答所问问题的唯一答案。
mtntrailrunner 2013年

5
那个怎么样?他在问题中的任何地方都没有说过来自:input值的字符串
mkoryak 2014年

2
这也是如此:len = $('#selector').is('div') ? "someString".length : 0并且意义也是如此……
mkoryak 2014年

但这仍然只是使用JavaScript,不是吗?与@Artem Barger的答案相同
Malcolm Salvador

41

jQuery是一个JavaScript库。

您不需要使用jQuery来获取字符串的长度,因为它是基本的JavaScript字符串对象属性。

somestring.length;

13
+1(包括“ jQuery是JavaScript库”行)。很多答案都说您不需要jQuery,但这可能会使认为jQuery和JavaScript是两回事的人感到困惑。
格兰特·瓦格纳

22

的HTML

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

脚本

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

结果

10



19

一个重要的区别是元素是否为输入。如果输入,则可以使用:

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

否则,如果元素是不同的html元素(如段落或列表项div等),则必须使用

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

1
对这个问题的正确答案!真正定义的是如何获取“输入字段”或“文本”值的长度。另外,可以获取html长度,例如$('#selector').html().length
欧根(Eugen)

13

这不是您需要的jQuery,而是JS:

alert(str.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表示:此属性返回字符串中代码单元的数量。UTF-16是JavaScript使用的字符串格式,它使用单个16位代码单元表示最常用的字符,但是对于不太常用的字符则需要使用两个代码单元,因此按长度返回的值可能会与字符串中的实际字符数不匹配

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.