如何获取字符串的长度?

264

如何在jQuery中获取字符串的长度?


8
好的,我会使用普通的JS进行操作。 - RubbleFord
10个回答

499
你不需要使用 jQuery,只需使用 yourstring.length。参考此处此处更新: 为了支持 unicode 字符串,长度需要按以下方式计算:
[...""].length

或者创建一个辅助函数

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

6
我也是,哦,SO的乐趣啊。 - karim79
11
我敢打赌那只是竞争而已。 :D - Arnis Lapsa
11
阿特姆·巴格可能是因为他询问了有关使用Jquery的问题。 - cyclical
2
Artem Barger - 可能是因为他和我一样在寻找同样的东西:获取包含在HTML标签中的文本长度的方法。作为初学者,我知道如何获取内容,但不知道其长度。从这个意义上讲,下面Genesis的答案更好。 - Adrian Pauly
1
"".length == 2。我们如何得到实际字符数? "".length == 2。我们该怎么获取实际的字符数呢? - Pierre Thibault
显示剩余2条评论

213

最简单的方式:

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

39
答案只有回答所提出的问题才算得上是完整的。 - mtntrailrunner
5
好的,我会尽力进行翻译。这句话的意思是:"这怎么可能呢?问题中根本没有提到字符串来自:input的值。" - mkoryak
2
这个也一样:len = $('#selector').is('div') ? "someString".length : 0,并且意义非常清晰... - mkoryak
但这仍然只是使用JavaScript,对吧?与@Artem Barger的答案相同。 - Malcolm Salvador

44

jQuery是一个JavaScript库。

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

somestring.length;

14
jQuery是一个JavaScript库。许多答案都说您不需要jQuery,但这可能会让认为“jQuery”和“JavaScript”是两个不同的东西的人感到困惑。 - Grant Wagner

22

HTML

:HTML 是一种用于创建网页的标记语言。
<div class="selector">Text mates</div>

脚本

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

结果

10


22

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

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

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

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

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

21

你不需要使用jQuery。

var myString = 'abc';
var n = myString.length;

n将是3。


14

你需要的不是jQuery,而是JS:

alert(str.length);

13

你可以像在 JavaScript 中一样操作:

"something".length


4
在某些情况下,String.length 可能返回与屏幕上可见字符数量不同的值(例如,一些表情符号由 2 个 UTF-16 单元编码): MDN says: 该属性返回字符串中代码单元的数量。JavaScript 使用的字符串格式 UTF-16 用一个 16 位代码单元表示最常见的字符,但需要使用两个代码单元来表示不常用的字符,因此length 返回的值可能与字符串中实际字符数量不匹配
在 Unicode 中,单独的可见字符称为图形符号。如果您需要考虑这种情况,则需要使用可以将字符串拆分为图形符号的库,例如:https://www.npmjs.com/package/grapheme-splitter

2

在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.length;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接