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


当前回答

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

MDN说: 此属性返回字符串中的代码单元数。UTF-16是JavaScript使用的字符串格式,它使用一个16位代码单元来表示最常用的字符,但对于不太常用的字符则需要使用两个代码单元,因此length返回的值可能与字符串中的实际字符数不匹配。

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

其他回答

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

alert(str.length);

jQuery是一个JavaScript库。

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

somestring.length;

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

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

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

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

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

MDN说: 此属性返回字符串中的代码单元数。UTF-16是JavaScript使用的字符串格式,它使用一个16位代码单元来表示最常用的字符,但对于不太常用的字符则需要使用两个代码单元,因此length返回的值可能与字符串中的实际字符数不匹配。

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

在javascript中也是这样做的:

“东西”长处