js截取固定長度的中英文字符的簡單實例
更新時間:2013年11月22日 09:44:14 作者:
下面是自己寫的一個簡單的函數(shù),用于截取固定長度的字符串,中英文都適用.若有不妥之處還請高手指正
js雖然提供了計算字符串所占字節(jié)數(shù)的函數(shù),但是卻不能正確計算漢字所占的字節(jié)數(shù),如document.form1.username.value=“我是中國人”,document.form1.username.value.length返回的是5而不是10,于是給編程時帶來一些麻煩,如限制固定長度字符的輸入,截取固定長度的字符串都因為這個問題達不到預想的效果,下面是自己寫的一個簡單的函數(shù),用于截取固定長度的字符串,中英文都適用.若有不妥之處還請高手指正!
//js截取字符串,中英文都能用
//如果給定的字符串大于指定長度,截取指定長度返回,否者返回源字符串。
function cutstr(str,len)
{
var str_length = 0;
var str_len = 0;
str_cut = new String();
str_len = str.length;
for(var i = 0;i<str_len;i++)
{
a = str.charAt(i);
str_length++;
if(escape(a).length > 4)
{
//中文字符的長度經(jīng)編碼之后大于4
str_length++;
}
str_cut = str_cut.concat(a);
if(str_length>=len)
{
str_cut = str_cut.concat("...");
return str_cut;
}
}
//如果給定字符串小于指定長度,則返回源字符串;
if(str_length<len){
return str;
}
}
復制代碼 代碼如下:
//js截取字符串,中英文都能用
//如果給定的字符串大于指定長度,截取指定長度返回,否者返回源字符串。
function cutstr(str,len)
{
var str_length = 0;
var str_len = 0;
str_cut = new String();
str_len = str.length;
for(var i = 0;i<str_len;i++)
{
a = str.charAt(i);
str_length++;
if(escape(a).length > 4)
{
//中文字符的長度經(jīng)編碼之后大于4
str_length++;
}
str_cut = str_cut.concat(a);
if(str_length>=len)
{
str_cut = str_cut.concat("...");
return str_cut;
}
}
//如果給定字符串小于指定長度,則返回源字符串;
if(str_length<len){
return str;
}
}
相關文章
詳解js的事件處理函數(shù)和動態(tài)創(chuàng)建html標記方法
本文主要對javascript的事件處理函數(shù),動態(tài)創(chuàng)建html標記的兩種方法進行詳細介紹,具有很好的參考價值,需要的朋友一起來看下吧2016-12-12發(fā)布一個基于javascript的動畫類 Fx.js
支持大部分CSS3屬性的動畫(可能要指定詳細的屬性值)。2010-11-11