一、常用函數
1.字符串轉換。將任何類型的數據都轉換為字符串。
--toString()
var num=24; var mystr=num.toString(); //"24"
--String()
var num=24; var mystr=String(num); //"24"
--' '+sting
var num=24; var mystr="" + num; //"24"
2.字符串分割
--slice(start,end) 可提取字符串的某個部分,並以新的字符串返回被提取的部分。str.slice(start,end),截取str從start到end的所有字符(包含起始位置,不包含結束位置,)start和end都可以是負數,如果是負數,就從字符串的尾部開始算起,例如-1就是最后一個字符,-2就是倒數第二個字符,以此類推。如果未指定end參數,則截取從 start 到原字符串結尾的字符串。返回的是字符串。
var str = 'abc&ABC&123';
console.log(str.slice(3));//&ABC&123
console.log(str.slice(3,7));//&ABC
console.log(str.slice(-2));//23
console.log(str.slice(-3,-1));//12
--substring(start,end) 用於提取字符串中介於兩個指定小標之間的字符,兩個參數都必須是非負整數.str.substring(start,end) 截取str從start到end的所有字符(包含起始位置,但不包含結束位置),兩個參數都必須是非負整數,如果參數start與end相等,那么該方法返回的就是一個空字符串,如果start比end大,那么該方法在提取字符串之前會先交換這兩個參數,如果未指定end參數,則截取從start到原字符串結尾的字符串。
var str = 'abc&ABC&123';
console.log(str.substring(3));//&ABC&123
console.log(str.substring(3,7));//&ABC
--substr(start,length) 可在字符串中抽取從start下標開始的指定數目的字符串。(ECMAscript 沒有對該方法進行標准化,因此反對使用它。)str.substr(start,length)截取str從start開始的length個字符(包含起始位置)。start參數可以是任意整數,如果是負數,則從str的尾部開始算起,例如-1就是str的最后一個字符。length是可選的,如果沒有,則表示截取從str開始的位置到字符串的尾部。
var str = 'abc&ABC&123';
console.log(str.substr(3));//&ABC&123
console.log(str.substr(3,7));//&ABC&12
console.log(str.substr(-2));//23
console.log(str.substr(-5,4));//C&12
注:JavaScript 的字符串是不可變的(immutable),String 類定義的方法都不能改變字符串的內容。所以以上三種方法都不會改變原來的字符串,而是生成新的字符串。
3.字符串替換
--replace(regexp/substr,replacement) 替換與正則表達式匹配的子串。regexp/substr 必需。規定子字符串或要替換的模式的 RegExp 對象。replacement 必需。一個字符串值。規定了替換文本或生成替換文本的函數。返回 一個新的字符串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之后得到的。
var str = 'abc&ABC&123'; console.log(str.replace(1,','));//abc&ABC&,23 --srting console.log(str.replace(/&/g,''));//abcABC123
4.字符串分割成字符串數組
--split(separator,howmany) 返回的是字符串數組 separator必需。字符串或正則表達式。howmany可選。該參數可指定返回的數組的最大長度 。返回值,一個字符串數組。
var str = 'abc&ABC&123'; console.log(str.split(1,1));//["abc&ABC&"] console.log(str.split(/&/g));//["abc", "ABC", "123"]
console.log(str.split(''));// ["a", "b", "c", "&", "A", "B", "C", "&", "1", "2", "3"]
5.查找字符串
--indexOf(searchvalue,fromindex) 返回某個指定的字符串值在字符串中首次出現的位置。如果要檢索的字符串值沒有出現,則該方法返回 -1。indexOf() 方法對大小寫敏感!searchvalue 必需。規定需檢索的字符串值。 fromindex(0~str.len-1) 可選整數。規定在字符串中開始檢索的位置。
var str = 'abc&ABC&123'; console.log(str.indexOf(1));//8 console.log(str.indexOf(3,6));//10 console.log(str.indexOf(5,6));//-1
--match() match() 方法可在字符串內檢索指定的值,或找到一個或多個正則表達式的匹配。類似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。.match(searchvalue) 必需。規定要檢索的字符串值。 .match(regexp) 必需。規定要匹配的模式的 RegExp 對象 ---- 多用這種操作 返回需要的字符串數組
var a = 'abc&CDE&啊啊啊'; var f = a.match(/[A-z]/g); console.log(f); ["a", "b", "c", "C", "D", "E"]
--search() 用於檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串 search(regexp) 該參數可以是需要在 stringObject 中檢索的子串,也可以是需要檢索的 RegExp對象。 如果沒有找到任何匹配的子串,則返回 -1。
var a = 'abc&CDE&啊啊啊'; a.search('啊');//8 a.search(/[A-z]/g);//0
