首頁 > web前端 > js教程 > JavaScript字串常用的方法_javascript技巧

JavaScript字串常用的方法_javascript技巧

WBOY
發布: 2016-05-16 15:11:24
原創
1643 人瀏覽過

取得類別:

1)動態方法:

charAt : 取得字串指定位置上的字元。 (參數:一個,指定要取得的字元位置)

1,不接受負數,如果為負數,會傳回一個空字串。

2,如果不給參數,預設是取得第0位置上的字元。

3,只接收一個參數。

charCodeAt : 取得字串中指定位置上字元的Unicode編碼(參數: 一個,指定要取得字元編碼的字元位置)

1,任何字元都有一個唯一的字元編碼。

2,只接收一個參數。

  常用:

    數字 : 48 ~ 57

    下劃線 : 95

    空格 : 32

    製表符 : 9

    小寫字母 :97 ~ 122

    大寫字母 : 65 ~ 90

2)靜態方法:

fromCharCode : 根據指定的字元編碼傳回對應的字元。 (參數: 任多個)

1,可以接收多個參數。

2,寫法是固定的(靜態方法):String.fromCharCode(); //字元編碼有效範圍 : 0 ~ 65535 String是字串的物件

var str = '我是字符串';
alert( str.charAt( ) ); //'' 如果本身长度只有,却找str.charAt() 找不到也是空字符串'',~str.length-是合法范围。
alert( str.charAt( ) ); //'我' 默认不写是,找到第一个字符
alert( str.charAt() ); // '字'
alert( ''.charAt( ) ); //
alert( ''.charAt(,) ); //
alert( str.charCodeAt( ) );// unicode编码
alert( ''.charCodeAt() ); // 
alert(String.fromCharCode( ,)); //'字味' 根据编码转换成字符(静态方法)多个字符用 , 隔开 
登入後複製

查找類別:

indexOf : 尋找指定的子字串在字串中第一次出現的位置。 (第一個參數,指定要尋找的子字串;第二個參數指定開始尋找的位置。)

1,從前往後查找,預設從第0位置開始。

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

3,若第二個參數為負數,預設當成0來處理

lastIndexOf : 尋找指定的子字串在字串中最後一次出現的位置。 (第一個參數,指定要尋找的子字串;第二個參數指定開始尋找的位置。)

1,從後往前查找,預設從第 length - 1 位置開始。

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

var str = 'www.baidu.com/';
alert(str.indexOf('bai')); // 从左往右找找到一个就返回不会再往右找了
alert(str.indexOf('m',)) // 从第位开始向右找
alert(str.indexOf('X')) //- 不存在的话结果是 - 表示没找到
alert(str.lastIndexOf('ww')); // 
登入後複製

截取類別:

substring : 擷取指定範圍的一段子字串。 (第一個參數,指定要擷取的起始位置;第二個參數,指定要擷取的結束位置。)

1,擷取範圍包含起始位置,但不包含結束位置。

2,可以省略第二個參數,表示從起始位置擷取到字串結束

3,在擷取之前會先比較兩個參數的大小,然後依照從小到大的順序調整參數位置,再擷取。

4,所有的非法參數都會自動轉換成0.

5,如果不給參數,預設直接傳回整個字串。

slice : 提取指定範圍的一段子字串。 (第一個參數,指定要擷取的起始位置;第二個參數,指定要擷取的結束位置。)

1,擷取範圍包含起始位置,但不包含結束位置。

2,可以省略第二個參數,表示從起始位置擷取到字串結束

3,不會比較兩個參數的位置,更不會調整位置的位置

4,參數可以是正數,也可以是負數,其它所有非法參數都會轉換成0。

5,負數表示從字串的後面往前數字符位置,最一個字元的位置是 -1。

var str = '我是字符串';
alert(str.substring()); //'我是字符串'
alert(str.substring(-,)); //'我'
alert(str.substring()); //字符串
alert(str.substring(,)); //'我是' 与str.substring(,)是一样的。可以检测两个数,大的往后仍,小的往前仍。负数当成来处理。
alert(str.slice(,)); //空白 找不到,不交换位置
alert(str.slice(-)); //'符串' 负数就是从后面倒着往前数 
登入後複製

比較類:

alert(‘我'>'你'); //true 字串比較就比較第一個字元對應的Unicode值大小,後邊的就不比較了。

其他類別:

alert(str.length); //取得字串長度

split() //把字串切成陣列

參數: 一個 指定一個分割符用來分割字串。

1,如果不指定分割符,就不會分割,直接存入數組。

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

3,分割符本身不會存入數組。

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

5,在split看來,兩個字元之間必須依靠空字串連接。

6,當用空字串去分割空字串的時候,會得到一個空數組。

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('') ); //['','','','']
//'' 由五个 '' 加 四个字符组成
alert( str.split('') );//['','']
alert( str.split('') ); //['','']
alert( ''.split(' ').length ); //['']
alert( ''.split('').length ); //[]
//特例,只有这种情况下 split 才会返回空数组。 
登入後複製

trim() : 去除字符串首尾的所有空格。(字符串中间的空格会保留)。

   html5的新方法,低版本浏览器不支持。

toUpperCase() : 把字符串全部转换成大写。(没有参数)

toLowerCase() : 把字符串全部转换成小写。(没有参数)

最后,所有的字符串方法,都不会修改字符串本身。

javascript字符串连接类

在我们写前端的js时,经常会出现将很多的字符串通过“+”拼接起来,然后挂载的某个DOM元素上。然而关于使用“+”来拼接字符串,在各浏览器下解析的效果,我就在此不做对比了,网上这类的对比很多。很多牛人都说通过使用js中的Array的join方法来拼接字符串效果很不错。为此在项目中写一个js类,用来统一处理字符串的拼接。

代码

//自定义的一个字符串连接类,用于拼接字符串,比"+"要提升性能function StringBuffer()
{ 
this._strs = new Array(); 
}StringBuffer.prototype.append = function(str)
{ 
this._strs.push(str); 
};StringBuffer.prototype.arrayToString = function() 
{ 
return this._strs.join(""); 
}; 
登入後複製

而我们在使用该类时,可以直接通过如下方法:

var strBuff=new StringBuffer();strBuff.append("hello,");strBuff.append("Welcome to Javascript!");alert(strBuff.arrayToString());
登入後複製
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板