javascript substring 字元擷取(支援中文)程式碼
substring() 方法用於提取字串中介於兩個指定下標之間的字元,擷取英文字串很簡單直接substring(0,url.length),如果是中文就str.charcodeat(i)>255判斷字元編碼是否是中文漢字編碼了。
*/
var url ='http://www.a.com/a.html';
var burl ='http://www.a.com/a.html#abc';
if( burl.substring(0,url.length) != url )
{
alert('不匹配');
}
else
{
alert(burl.substring(0,url.length));
}
/*
substring() 方法用於提取字串中介於兩個指定下標之間的字元。
語法
stringobject.substring(start,stop)
返回值
一個新的字串,該字串值包含 stringobject 的一個子字串,其內容是從 start 處到 stop-1 處的所有字元,其長度為 stop 減 start。
說明
substring() 方法返回的子串包括 start 處的字元,但不包括 end 處的字元。
如果引數 start 與 end 相等,那麼該方法返回的就是一個空串(即長度為 0 的字串)。如果 start 比 end 大,那麼該方法在提取子串之前會先交換這兩個引數。
*/
//中文字元擷取
function substr(str, len) {
if(!str || !len) { return ''; }
//預期計數:中文2位元組,英文1位元組
var a = 0; //迴圈計數
var i = 0; //臨時字串
var temp = '';
for (i=0;i<str.length;i++)
{
if (str.charcodeat(i)>255)
{ //按照預期計數增加2
a+=2;
}
else
{
a++;
} //如果增加計數後長度大於限定長度,就直接返回臨時字串
if(a > len) { return temp; } //將當前內容加到臨時字串
temp += str.charat(i);
} //如果全部是單位元組字元,就直接返回源字串
return str;
}
</script>