西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁編程開發(fā)javascript|JQuery → js中String常用方法詳解以及String對象方法擴(kuò)展

js中String常用方法詳解以及String對象方法擴(kuò)展

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2013/4/7 21:51:57字體大。A-A+

作者:西西點(diǎn)擊:1次評論:0次標(biāo)簽: String

  • 類型:系統(tǒng)其它大。159KB語言:中文 評分:5.0
  • 標(biāo)簽:
立即下載

一、JavaScript 中 slice 、substr 和 substring的區(qū)別:

1: String.slice(start,end): 一個新的字符串。包括字符串 stringObject 從 start 開始(包括 start)到 end 結(jié)束(不包括 end)為止的所有字符.

2: String.substring(start,end) 這個就有點(diǎn)特別了,它是先從start,end里找出一個較小的值. 然后從字符串的開始位置算起,截取較小值位置和較大值位置之間的

字符串,截取出來的字符串的長度為較大值與較小值之間的差。
一個新的字符串,該字符串值包含 stringObject 的一個子字符串,其內(nèi)容是從 start 處到 stop-1 處的所有字符,其長度為 stop 減 start。

3: String.substr(start,end) 這個就是我們常用的從指定的位置(start)截取指定長度(end)的字符串.
一個新的字符串,包含從 stringObject 的 start(包括 start 所指的字符) 處開始的 lenght 個字符。如果沒有指定 lenght,那么返回的字符串包含從 start
到 stringObject 的結(jié)尾的字符。
String 對象的方法 slice()、substring() 和 substr() (不建議使用)都可返回字符串的指定部分。slice() 比 substring() 要靈活一些,因?yàn)樗试S使用負(fù)數(shù)作為參數(shù)。slice() 與 substr() 有所不同,因?yàn)樗脙蓚字符的位置來指定子串,而 substr() 則用字符位置和長度來指定子串。'

二、String對象中常用的方法:

1、charCodeAt方法返回一個整數(shù),代表指定位置字符的Unicode編碼。
strObj.charCodeAt(index)
說明:
index將被處理字符的從零開始計數(shù)的編號。有效值為0到字符串長度減1的數(shù)字。
如果指定位置沒有字符,將返回NaN。
例如:
var str = "ABC";
str.charCodeAt(0);
結(jié)果:65
2、fromCharCode方法從一些Unicode字符串中返回一個字符串。
String.fromCharCode([code1[,code2...]])
說明:
code1,code2...是要轉(zhuǎn)換為字符串的Unicode字符串序列。如果沒有參數(shù),結(jié)果為空字符串。
例如:
String.fromCharCode(65,66,112);
結(jié)果:ABp
3、charAt方法返回指定索引位置處的字符。如果超出有效范圍的索引值返回空字符串。
strObj.charAt(index)
說明:
index想得到的字符的基于零的索引。有效值是0與字符串長度減一之間的值。
例如:
var str = "ABC";
str.charAt(1);
結(jié)果:B
4、slice方法返回字符串的片段。
strObj.slice(start[,end])
說明:
start下標(biāo)從0開始的strObj指定部分其實(shí)索引。如果start為負(fù),將它作為length+start處理,此處length為字符串的長度。
end小標(biāo)從0開始的strObj指定部分結(jié)束索引。如果end為負(fù),將它作為length+end處理,此處length為字符串的長度。
例如:
012345
var str = "ABCDEF";
str.slice(2,4);
結(jié)果:CD
5、substring方法返回位于String對象中指定位置的子字符串。
strObj.substring(start,end)
說明:
start指明子字符串的起始位置,該索引從0開始起算。
end指明子字符串的結(jié)束位置,該索引從0開始起算。
substring方法使用start和end兩者中的較小值作為子字符串的起始點(diǎn)。如果start或end為NaN或者為負(fù)數(shù),那么將其替換為0。
例如:
012345
var str = "ABCDEF";
str.substring(2,4); // 或 str.substring(4,2);
結(jié)果:CD
6、substr方法返回一個從指定位置開始的指定長度的子字符串。
strObj.substr(start[,length])
說明:
start所需的子字符串的起始位置。字符串中的第一個字符的索引為0。
length在返回的子字符串中應(yīng)包括的字符個數(shù)。
例如:
012345
var str = "ABCDEF";
str.substr(2,4);
結(jié)果:CDEF
7、indexOf方法返回String對象內(nèi)第一次出現(xiàn)子字符串位置。如果沒有找到子字符串,則返回-1。
strObj.indexOf(substr[,startIndex])
說明:
substr要在String對象中查找的子字符串。
startIndex該整數(shù)值指出在String對象內(nèi)開始查找的索引。如果省略,則從字符串的開始處查找。
例如:
01234567
var str = "ABCDECDF";
str.indexOf("CD",1); // 由1位置從左向右查找 123...
結(jié)果:2
8、lastIndexOf方法返回String對象中字符串最后出現(xiàn)的位置。如果沒有匹配到子字符串,則返回-1。
strObj.lastIndexOf(substr[,startindex])
說明:
substr要在String對象內(nèi)查找的子字符串。
startindex該整數(shù)值指出在String對象內(nèi)進(jìn)行查找的開始索引位置。如果省略,則查找從字符串的末尾開始。
例如:
01234567
var str = "ABCDECDF";
str.lastIndexOf("CD",6); // 由6位置從右向左查找 ...456
結(jié)果:5
9、search方法返回與正則表達(dá)式查找內(nèi)容匹配的第一個字符串的位置。
strObj.search(reExp)
說明:
reExp包含正則表達(dá)式模式和可用標(biāo)志的正則表達(dá)式對象。
例如:
var str = "ABCDECDF";
str.search("CD"); // 或 str.search(/CD/i);
結(jié)果:2
10、concat方法返回字符串值,該值包含了兩個或多個提供的字符串的連接。
str.concat([string1[,string2...]])
說明:
string1,string2要和所有其他指定的字符串進(jìn)行連接的String對象或文字。
例如:
var str = "ABCDEF";
str.concat("ABCDEF","ABC");
結(jié)果:ABCDEFABCDEFABC
11、將一個字符串分割為子字符串,然后將結(jié)果作為字符串?dāng)?shù)組返回。
strObj.split([separator[,limit]])
說明:
separator字符串或 正則表達(dá)式 對象,它標(biāo)識了分隔字符串時使用的是一個還是多個字符。如果忽略該選項(xiàng),返回包含整個字符串的單一元素數(shù)組。
limit該值用來限制返回數(shù)組中的元素個數(shù)。
例如:
var str = "AA BB CC DD EE FF";
alert(str.split(" ",3));
結(jié)果:
AA,BB,CC
12、toLowerCase方法返回一個字符串,該字符串中的字母被轉(zhuǎn)換成小寫。
例如:
var str = "ABCabc";
str.toLowerCase();
結(jié)果:abcabc
13、toUpperCase方法返回一個字符串,該字符串中的所有字母都被轉(zhuǎn)換為大寫字母。
例如:
var str = "ABCabc";
str.toUpperCase();

結(jié)果:ABCABC

雖然js String對象已經(jīng)提供像slice、replace、indexOf和substring等方法,但在實(shí)際項(xiàng)目應(yīng)用中會對其進(jìn)行擴(kuò)展,以達(dá)到實(shí)用、方便目的。注釋很詳細(xì),廢話少說,代碼如下:

三、String對象方法擴(kuò)展:
/**
*字符串-格式化
*/
String.prototype.format = function(){
var args = arguments;//獲取函數(shù)傳遞參數(shù)數(shù)組,以便在replace回調(diào)函數(shù)內(nèi)使用
var regex = /\{(\d+)\}/g;//匹配并捕獲所有 形如:{數(shù)字} 字串
return this.replace(regex,function(m,i){//參數(shù)=匹配子串+第幾次匹配+匹配字串位置+源字符串
return args[i];
});
}
/**
*字符串-去掉前后空白字符
*/
String.prototype.trim = function(){
return this.replace(/(^\s*)|(\s*$)/g, "");
}
/**
*字符串-去掉前空白字符
*/
String.prototype.ltrim = function(){
return this.replace(/(^\s*)/g, "");
}
/**
*字符串-去掉后空白字符
*/
String.prototype.rtrim = function(){
return this.replace(/(\s*$)/g, "");
}
/**
*字符串-獲取以ASCII編碼字節(jié)數(shù) 英文占1字節(jié) 中文占2字節(jié)
*/
String.prototype.lenASCII=function(){
return this.replace(/[^\x00-\xff]/g,'xx').length;//將所有非\x00-\xff字符換為xx兩個字符,再計算字符串
}
/**
*字符串-獲取以UNICODE編碼字節(jié)數(shù) 一個字符均占2個字節(jié)
*/
String.prototype.lenUNICODE=function(){
return this.length*2;
}
ps:若對js提供類型對象或自定義對象進(jìn)行方法擴(kuò)展,應(yīng)利用原型prototype這個對象屬性進(jìn)行擴(kuò)展,具體方式以下:

String.prototype.trim=function(){
//...代碼略
};
String.prototype.ltrim=function(){
//...代碼略
};

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)
    推薦文章

    沒有數(shù)據(jù)