中文字符串截取的js函數(shù)代碼
為了解決這個(gè)問(wèn)題昨天寫(xiě)了根據(jù)字節(jié)數(shù)截取字符串的函數(shù)。
Code
//計(jì)算字符串長(zhǎng)度
String.prototype.strLen = function() {
var len = 0;
for (var i = 0; i < this.length; i++) {
if (this.charCodeAt(i) > 255 || this.charCodeAt(i) < 0) len += 2; else len ++;
}
return len;
}
//將字符串拆成字符,并存到數(shù)組中
String.prototype.strToChars = function(){
var chars = new Array();
for (var i = 0; i < this.length; i++){
chars[i] = [this.substr(i, 1), this.isCHS(i)];
}
String.prototype.charsArray = chars;
return chars;
}
//判斷某個(gè)字符是否是漢字
String.prototype.isCHS = function(i){
if (this.charCodeAt(i) > 255 || this.charCodeAt(i) < 0)
return true;
else
return false;
}
//截取字符串(從start字節(jié)到end字節(jié))
String.prototype.subCHString = function(start, end){
var len = 0;
var str = "";
this.strToChars();
for (var i = 0; i < this.length; i++) {
if(this.charsArray[i][1])
len += 2;
else
len++;
if (end < len)
return str;
else if (start < len)
str += this.charsArray[i][0];
}
return str;
}
//截取字符串(從start字節(jié)截取length個(gè)字節(jié))
String.prototype.subCHStr = function(start, length){
return this.subCHString(start, start + length);
}
相關(guān)文章
教你如何自定義百度分享插件以及bshare分享插件的分享按鈕
在項(xiàng)目中我們常用到百度分享插件或者bshare分享插件,雖然官方都有自定義按鈕的功能,但是畢竟還是只有少數(shù)幾種,我們?nèi)绾蝸?lái)制作有自己特色的分享按鈕呢?2014-06-06
利用uniapp開(kāi)發(fā)APP時(shí)的調(diào)試/安卓打包等詳解
uni-app??是一個(gè)使用??Vue.js開(kāi)發(fā)所有前端應(yīng)用的框架,開(kāi)發(fā)者編寫(xiě)一套代碼,下面這篇文章主要給大家介紹了關(guān)于利用uniapp開(kāi)發(fā)APP時(shí)的調(diào)試/安卓打包等的相關(guān)資料,需要的朋友可以參考下2022-12-12
javascript實(shí)現(xiàn)將文件保存到本地方法匯總
本文給大家匯總介紹了3中使用javascript實(shí)現(xiàn)將文件保存到本地的方法,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。2015-07-07
JavaScript獲得頁(yè)面base標(biāo)簽中url的方法
這篇文章主要介紹了JavaScript獲得頁(yè)面base標(biāo)簽中url的方法,涉及javascript中元素的獲取及href屬性的使用技巧,需要的朋友可以參考下2015-04-04
前端高頻面試題之JS中堆和棧的區(qū)別和瀏覽器的垃圾回收機(jī)制
本文給大家分享前端高頻面試題JS中堆和棧的區(qū)別和瀏覽器的垃圾回收機(jī)制,本文分文別類給大家介紹了棧(stack)和堆(heap)的區(qū)別基本類型和引用類型的相關(guān)知識(shí),瀏覽器垃圾回收機(jī)制包括基本概念給大家介紹的非常詳細(xì),需要的朋友參考下吧2023-10-10
JavaScript新功能介紹之findLast()和findLastIndex()
最近工作中遇到了一個(gè)關(guān)于查找數(shù)組里面的目標(biāo)元素的方法,所以下面這篇文章主要給大家介紹了關(guān)于JavaScript新功能之findLast()?和findLastIndex()的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04
前端強(qiáng)大的圖片預(yù)覽組件Viewer.js使用方法
這篇文章主要給大家介紹了關(guān)于前端強(qiáng)大的圖片預(yù)覽組件Viewer.js使用方法的相關(guān)資料,Viewer.js是一款強(qiáng)大的圖片查看器,雖然簡(jiǎn)單且易上手,但是卻并不影響其在圖片查看方面的強(qiáng)大功能,同時(shí)這款優(yōu)秀的插件配置操作起來(lái)也非常的方便,需要的朋友可以參考下2024-01-01
基于JavaScript實(shí)現(xiàn)表格隔行換色
這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)表格隔行換色,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
用JS動(dòng)態(tài)設(shè)置CSS樣式常見(jiàn)方法小結(jié)(推薦)
本文給大家總結(jié)了js動(dòng)態(tài)設(shè)置css樣式的常見(jiàn)方法,非常實(shí)用,對(duì)js設(shè)置css樣式相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2016-11-11
javascript window.open打開(kāi)新窗口后無(wú)法再次打開(kāi)該窗口問(wèn)題的解決方法
這篇文章主要介紹了javascript window.open打開(kāi)新窗口后無(wú)法再次打開(kāi)該窗口問(wèn)題的解決方法即無(wú)法再次打開(kāi)窗口、第二次打開(kāi)不了,需要的朋友可以參考下2014-04-04

