JavaScript字符串常用的方法
來(lái)源:易賢網(wǎng) 閱讀:700 次 日期:2016-07-21 15:07:56
溫馨提示:易賢網(wǎng)小編為您整理了“JavaScript字符串常用的方法”,方便廣大網(wǎng)友查閱!

這篇文章主要介紹了JavaScript字符串常用的方法 的相關(guān)資料,需要的朋友可以參考下

獲取類:

1)動(dòng)態(tài)方法:

charAt : 獲取字符串指定位置上的字符。(參數(shù):一個(gè),指定要獲取的字符位置)

1,不接受負(fù)數(shù),如果為負(fù)數(shù),會(huì)返回一個(gè)空字符串。

2,如果不給參數(shù),默認(rèn)是獲取第0位置上的字符。

3,只接收一個(gè)參數(shù)。

charCodeAt : 獲取字符串中指定位置上字符的Unicode編碼(參數(shù): 一個(gè),指定要獲取字符編碼的字符位置)

1,任何字符都有一個(gè)唯一的字符編碼。

2,只接收一個(gè)參數(shù)。

常用:

數(shù)字 : 48 ~ 57

下劃線 : 95

空格 : 32

制表符 : 9

小寫字母 :97 ~ 122

大寫字母 : 65 ~ 90

2)靜態(tài)方法:

fromCharCode : 根據(jù)指定的字符編碼返回對(duì)應(yīng)的字符。(參數(shù): 任意多個(gè))

1,可以接收多個(gè)參數(shù)。

2,寫法是固定的(靜態(tài)方法):String.fromCharCode(); //字符編碼有效范圍 : 0 ~ 65535 String是字符串的對(duì)象

var str = '我是字符串';

alert( str.charAt( ) ); //'' 如果本身長(zhǎng)度只有,卻找str.charAt() 找不到也是空字符串'',~str.length-是合法范圍。

alert( str.charAt( ) ); //'我' 默認(rèn)不寫是,找到第一個(gè)字符

alert( str.charAt() ); // '字'

alert( ''.charAt( ) ); //

alert( ''.charAt(,) ); //

alert( str.charCodeAt( ) );// unicode編碼

alert( ''.charCodeAt() ); //

alert(String.fromCharCode( ,)); //'字味' 根據(jù)編碼轉(zhuǎn)換成字符(靜態(tài)方法)多個(gè)字符用 , 隔開

查找類:

indexOf : 查找指定的子字符串在字符串中第一次出現(xiàn)的位置。(第一個(gè)參數(shù),指定要查找的子字符串;第二個(gè)參數(shù)指定開始查找的位置。)

1,從前往后查找,默認(rèn)從第0位置開始。

2,如果找到了,就返回第一次被查找到的位置,如果沒有找到,就返回 -1。

3,如果第二個(gè)參數(shù)為負(fù)數(shù),默認(rèn)當(dāng)成0來(lái)處理

lastIndexOf : 查找指定的子字符串在字符串中最后一次出現(xiàn)的位置。(第一個(gè)參數(shù),指定要查找的子字符串;第二個(gè)參數(shù)指定開始查找的位置。)

1,從后往前查找,默認(rèn)從第 length - 1 位置開始。

2,如果找到了,就返回第一次被查找到的位置,如果沒有找到,就返回 -1。

var str = 'www.baidu.com/';

alert(str.indexOf('bai')); // 從左往右找找到一個(gè)就返回不會(huì)再往右找了

alert(str.indexOf('m',)) // 從第位開始向右找

alert(str.indexOf('X')) //- 不存在的話結(jié)果是 - 表示沒找到

alert(str.lastIndexOf('ww')); //

截取類:

substring : 提取指定范圍的一段子字符串。(第一個(gè)參數(shù),指定要提取的開始位置;第二個(gè)參數(shù),指定要提取的結(jié)束位置。)

1,提取范圍包括開始位置,但是不包括結(jié)束位置。

2,可以省略第二個(gè)參數(shù),表示從開始位置提取到字符串結(jié)束

3,在提取之前會(huì)先比較兩個(gè)參數(shù)的大小,然后按從小到大的順序調(diào)整參數(shù)位置,再提取。

4,所有的非法參數(shù)都會(huì)自動(dòng)轉(zhuǎn)化成0.

5,如果不給參數(shù),默認(rèn)直接返回整個(gè)字符串。

slice : 提取指定范圍的一段子字符串。(第一個(gè)參數(shù),指定要提取的開始位置;第二個(gè)參數(shù),指定要提取的結(jié)束位置。)

1,提取范圍包括開始位置,但是不包括結(jié)束位置。

2,可以省略第二個(gè)參數(shù),表示從開始位置提取到字符串結(jié)束

3,不會(huì)比較兩個(gè)參數(shù)的位置,更不會(huì)調(diào)整位置的位置

4,參數(shù)可以是正數(shù),也可以是負(fù)數(shù),其它所有非法參數(shù)都會(huì)轉(zhuǎn)換成0。

5,負(fù)數(shù)表示從字符串的后面往前數(shù)字符位置,最一個(gè)字符的位置是 -1。

var str = '我是字符串';

alert(str.substring()); //'我是字符串'

alert(str.substring(-,)); //'我'

alert(str.substring()); //字符串

alert(str.substring(,)); //'我是' 與str.substring(,)是一樣的??梢詸z測(cè)兩個(gè)數(shù),大的往后仍,小的往前仍。負(fù)數(shù)當(dāng)成來(lái)處理。

alert(str.slice(,)); //空白 找不到,不交換位置

alert(str.slice(-)); //'符串' 負(fù)數(shù)就是從后面倒著往前數(shù)

比較類:

alert(‘我'>'你'); //true 字符串比較就比較第一個(gè)字符對(duì)應(yīng)的Unicode值大小,后邊的就不比較了。

其他類:

alert(str.length); //獲取字符串長(zhǎng)度

split() //把字符串切成數(shù)組

參數(shù): 一個(gè) 指定一個(gè)分割符用來(lái)分割字符串。

1,如果不指定分割符,就不會(huì)分割,直接存入數(shù)組。

2,以分割符為依據(jù),把分割符左右兩邊的值分別存入數(shù)組。

3,分割符本身不會(huì)存入數(shù)組。

4,分割符只能是字符串中存在的子字符串。

5,在split看來(lái),兩個(gè)字符之間必須依靠空字符串連接。

6,當(dāng)用空字符串去分割空字符串的時(shí)候,會(huì)得到一個(gè)空數(shù)組。

var str = '';

alert( typeof str ); //string

alert( typeof str.split() ); //object

alert( str.split().length ); //['']

alert( str.split('') ); //['','']

alert( str.split('a') ); //['']

alert( str.split('') ); //['','']

alert( str.split('').length ); //['','','','']

alert( str.split('') ); //['','','','']

//'' 由五個(gè) '' 加 四個(gè)字符組成

alert( str.split('') );//['','']

alert( str.split('') ); //['','']

alert( ''.split(' ').length ); //['']

alert( ''.split('').length ); //[]

//特例,只有這種情況下 split 才會(huì)返回空數(shù)組。

trim() : 去除字符串首尾的所有空格。(字符串中間的空格會(huì)保留)。

   html5的新方法,低版本瀏覽器不支持。

toUpperCase() : 把字符串全部轉(zhuǎn)換成大寫。(沒有參數(shù))

toLowerCase() : 把字符串全部轉(zhuǎn)換成小寫。(沒有參數(shù))

最后,所有的字符串方法,都不會(huì)修改字符串本身。

javascript字符串連接類

在我們寫前端的js時(shí),經(jīng)常會(huì)出現(xiàn)將很多的字符串通過(guò)“+”拼接起來(lái),然后掛載的某個(gè)DOM元素上。然而關(guān)于使用“+”來(lái)拼接字符串,在各瀏覽器下解析的效果,我就在此不做對(duì)比了,網(wǎng)上這類的對(duì)比很多。很多牛人都說(shuō)通過(guò)使用js中的Array的join方法來(lái)拼接字符串效果很不錯(cuò)。為此在項(xiàng)目中寫一個(gè)js類,用來(lái)統(tǒng)一處理字符串的拼接。

代碼

//自定義的一個(gè)字符串連接類,用于拼接字符串,比"+"要提升性能function StringBuffer()

{

this._strs = new Array();

}StringBuffer.prototype.append = function(str)

{

this._strs.push(str);

};StringBuffer.prototype.arrayToString = function()

{

return this._strs.join("");

};

而我們?cè)谑褂迷擃悤r(shí),可以直接通過(guò)如下方法:

var strBuff=new StringBuffer();strBuff.append("hello,");strBuff.append("Welcome to Javascript!");alert(strBuff.arrayToString());

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:JavaScript字符串常用的方法
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)