【发布时间】:2010-11-05 20:35:43
【问题描述】:
如何在jQuery中获取字符串的长度?
【问题讨论】:
-
优秀的只用普通的JS。
标签: javascript jquery string-length
如何在jQuery中获取字符串的长度?
【问题讨论】:
标签: javascript jquery string-length
【讨论】:
"?".length == 2。我们怎样才能得到实际的字符数?
最简单的方法:
$('#selector').val().length
【讨论】:
:input 值的字符串
len = $('#selector').is('div') ? "someString".length : 0 并且同样有意义......
jQuery 是一个 JavaScript 库。
您不需要使用 jQuery 来获取字符串的长度,因为它是一个基本的 JavaScript 字符串对象属性。
somestring.length;
【讨论】:
HTML
<div class="selector">Text mates</div>
脚本
alert(jQuery('.selector').text().length);
结果
10
【讨论】:
您不需要使用 jquery。
var myString = 'abc';
var n = myString.length;
n 将是 3。
【讨论】:
一个比较重要的区别是元素是否是输入。如果您可以使用输入:
$('#selector').val().length;
否则,如果元素是不同的 html 元素,如段落或列表项 div 等,则必须使用
$('#selector').text().length;
【讨论】:
$('#selector').html().length。
你需要的不是 jquery,而是 JS:
alert(str.length);
【讨论】:
与您在 javascript 中的操作方式相同:
"something".length
【讨论】:
在某些情况下,String.length 可能会返回一个与屏幕上实际可见字符数不同的值(例如,某些表情符号由 2 个 UTF-16 单元编码):
MDN says: 此属性返回字符串中的代码单元数。 UTF-16,JavaScript 使用的字符串格式,使用单个 16 位代码单元来表示最常用的字符,但对于不常用的字符需要使用两个代码单元,所以 返回值是可能的按长度与字符串中的实际字符数不匹配。
在 Unicode 中,单独的可见字符称为字素。如果您需要考虑这种情况,您将需要一些可以将字符串拆分为字素的库,例如:https://www.npmjs.com/package/grapheme-splitter
【讨论】:
在 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;
【讨论】: