js 字符串长度函数详解介绍
来源:自学PHP网
时间:2014-09-19 14:47 作者:
阅读:次
[导读] 在js中获取字符串长度我们只要使用length属性就可以实现了,下面我详细介绍在js str.length的使用方法,有需要的朋友可参考。...
我们只要使用
代码如下 |
复制代码 |
var str = "465464656464566";
var strLength = str.length;
|
例1
代码如下 |
复制代码 |
<script type="text/javascript">
var vText="I like www.111cn.net"
document.write("<p>" + vText + "</p>")
document.write(vText.length)
</script>
|
<p>Javascript示例代码解释:首先声明一个变量vText,将"I like www.111cn.net"赋值给vText,然后用
document.write将其显示出来;然后用length属性,计算得出vText的长度,并将其显示出来,vText里面包含16个字
符,空格也是计算在内的,最后得出结果就是16。如果你写中文,就会得出中文字符的长度。比如你写,"我就喜欢布
啦布啦",就会得到这个字符串的长度,是8。
</p>
例2
代码如下 |
复制代码 |
<html>
<body>
<script type="text/javascript">
var txt="Hello World!"
document.write(txt.length)
</script>
</body>
</html>
输 12
|
利用上面的经验我们写一个字符串截取函数
代码如下 |
复制代码 |
<div id='jsdiv' style="border:1px solid #ccc"></div>
<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(getStrActualLen(str1));
alert(getInterceptedStr(str1,25));
</script>
|
|