1

我想要的是计算插入符号从字符串的开头到结尾移动的时间。

说明:在这个小提琴中
查看这个字符串:http: //jsfiddle.net/RFuQ3/ 如果你把插入符号放在第一个引号之前,然后按右箭头""
►</kbd> you will push 3 times to arrive after the second quote (instead of 2 times for an empty string).

第一种方法,也是最容易计算字符串长度的方法是<string>.length.
但在这里,它返回 2。

第二种方式,从JavaScript 获取字符串的真实长度(没有实体)也给出 2。

我怎样才能得到1?


1-我想到了一种将字符串放入文本输入的方法,然后while用 a 循环try{setCaret}catch(){}
2-只是为了好玩

4

3 回答 3

2

您的问题“

于 2012-06-30T19:11:56.097 回答
0

Javascript 并不真正支持 unicode。你可以试试

yourstring.replace(/[\uD800-\uDFFF]{2}/g, "0").length

物有所值

于 2012-06-30T18:48:45.483 回答
0
function realLength(str) {
    var i = 1;
    while (str.substring(i,i+1) != "") i++;
    return (i-1);
}

没有尝试代码,但我认为它应该可以工作。

于 2012-06-30T18:26:52.387 回答