253

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

4

10 回答 10

486

您不需要 jquery,只需使用yourstring.length. 请参阅此处此处的参考资料。

更新

为了支持 unicode 字符串,长度需要计算如下:

[...""].length

或创建辅助功能

function uniLen(s) {
    return [...s].length
}
于 2009-06-25T14:00:40.940 回答
209

最简单的方法:

$('#selector').val().length
于 2010-02-14T20:50:48.850 回答
43

jQuery 是一个 JavaScript 库。

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

somestring.length;
于 2009-06-25T14:02:30.687 回答
22

HTML

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

脚本

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

结果

10

于 2010-11-19T02:10:41.797 回答
21

您不需要使用 jquery。

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

n 将是 3。

于 2009-06-25T14:01:37.367 回答
20

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

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

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

$('#selector').text().length;
于 2012-05-16T18:22:19.950 回答
14

您需要的不是 jquery,而是 JS:

alert(str.length);
于 2009-06-25T14:00:41.113 回答
13

与您在 javascript 中执行此操作的方式相同:

"something".length

于 2009-06-25T14:00:51.067 回答
4

在某些情况下, String.length可能返回一个与屏幕上实际可见字符数不同的值(例如,某些表情符号由 2 个 UTF-16 单元编码):

MDN 说:这个属性返回字符串中代码单元的数量。JavaScript 使用的字符串格式 UTF-16 使用一个 16 位的代码单元来表示最常见的字符,但对于不常用的字符需要使用两个代码单元,所以长度返回的值可能为与字符串中的实际字符数不匹配

在 Unicode 中,单独的可见字符称为字素。如果您需要考虑这种情况,您将需要一些可以将字符串拆分为字素的库,例如:https ://www.npmjs.com/package/grapheme-splitter

于 2019-04-01T18:29:46.210 回答
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;
于 2015-04-17T17:50:32.567 回答