描述
如果第二个参数 bUnicode255For1 === true,则所有字符长度为 1
否则如果字符 Unicode 编码 > 255 则长度为 2
输入:
'hello world, 牛客', false
输出:
17
完整代码:
function strLength(s, bUnicode255For1) {
if(bUnicode255For1 == true){
return s.length;
}else{
var len = s.length
for(var i=0; i<s.length; i++){
if(s.charCodeAt(i) > 255){
len++;
}
}
return len;
}
}
注:
charCodeAt()方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
<script type="text/javascript">
var str="Hello world!"
document.write("The Unicode for the first character is: " + str.charCodeAt(0) + "<br />")
document.write("The Unicode for the second character is: " + str.charCodeAt(1) + "<br />")
document.write("The Unicode for the third character is: " + str.charCodeAt(2))
</script>
输出:
The Unicode for the first character is: 72
The Unicode for the second character is: 101
The Unicode for the third character is: 108