【www.bbyears.com--js教程】
JS原先的长度中文跟英文一样一个字符为1个长度。所以这里就得需要大家自己判断并获取字符串的实际长度了。
核心代码:
jmz.GetLength = function(str) {
///
///要获得长度的字符串
var realLength = 0, len = str.length, charCode = -1;
for (var i = 0; i < len; i++) {
charCode = str.charCodeAt(i);
if (charCode >= 0 && charCode <= 128) realLength += 1;
else realLength += 2;
}
return realLength;
};
执行代码:
代码如下alert(jmz.GetLength("测试测试ceshiceshi));
JS版获取字符串真实长度和取固定长度的字符串函数(兼容IE,fireFox)
代码如下
<script type="text/javascript">
// 得到字符串的真实长度(双字节换算为两个单字节)
function getStrActualLen(sChars)
{
return sChars.replace(/[^x00-xff]/g,"xx").length;
}
// 截取固定长度子字符串 sSource为字符串iLen为长度
function getInterceptedStr(sSource, iLen)
{
if(sSource.replace(/[^x00-xff]/g,"xx").length <= iLen)
{
return sSource;
}
var str = "";
var l = 0;
var schar;
for(var i=0; schar=sSource.charAt(i); i++)
{
str += schar;
l += (schar.match(/[^x00-xff]/) != null ? 2 : 1);
if(l >= iLen)
{
break;
}
}
return str;
}
var str1="这是一个字符串截取的函数,this is a test!";
alert(getInterceptedStr(str1,29));
</script>