標籤:轉換 返回 stop 檢測 regex 參數表 match concat tar
String對象常用來儲存文本形式的資料。
其轉化方法有二種:
String(s)new String(s)
String對象方法有:charAt()charCodeAt()concat()indexOf()lastIndexOf()match()repeat()replace()search()slice()substr()substring()split()toLowerCase()toUpperCase()trim()valueOf()toString()
一、charAt()方法
該方法返回指定位置的字元。
文法:
string.charAt(index)
index表示0到string.length-1之間的整數。如果沒有提供索引,預設使用0。
例子:
var str="life is cool! come on";document.write(str.charAt(2));//f
二、charCodeAt()方法
該方法返回一個表示給定索引處字元的 Unicode 編碼值,通常範圍在0到65535之間;如果索引超出範圍,則返回 NaN。
例子:
var str="abc";document.write(str.charCodeAt(0));//97
三、concat()方法
該方法用於拼接多個字串,效能沒有"+"操作符好。建議多用"+"操作符。
例子:
var str="abc";document.write(str.concat("defg","!"));//abcdefg!
四、indexOf()
該方法尋找指定值第一次出現的位置索引。未找到則返回-1。該方法區分大小寫。
文法:
indexOf(str,fromIndex)
str:表示要尋找的值;
fromIndex:表示開始尋找的位置,預設為0。
例子:
var str="life is cool";document.write(str.indexOf("is"));//5!
檢測是否存在某字元可以和"~"操作符來進行if判斷。
五、lastIndexOf()
返回一個指定的字串值最後出現的位置,在一個字串中的指定位置從後向前搜尋。沒有找到則返回-1。
文法:
str.lastIndexOf(search, index)
可選的index表示尋找的位置。預設是字串的長度,即從末尾開始尋找。
例子:
var str="life is life ";document.write(str.lastIndexOf("f",5));//2 最後一個f被去掉了 所以索引2的f成了字串出現的最後一個f
六、match()方法
找到與正則相匹配的項。
文法:
str.match(regexp);
regexp表示正則對象。如果傳入一個非Regex對象,則會隱式地使用 new RegExp() 將其轉換為一個 regexp。
傳回值是存放一個或多個匹配(取決於正則的g標誌)結果的數組。
例子:
var str="6 life is cool 562"; document.write(str.match(/\d/g));//6,5,6,2
七、repeat()方法
該方法表示字串重複的次數
文法:
str.repeat(count)
count表示重複的次數。介於0和正無窮大之間的整數
例子:
var str="life";document.write(str.repeat(2));//lifelife
八、replace()方法
調用該方法將一些字元替換為另一些字元,或替換一個與Regex匹配的子串。
文法:
str.replace(regexp/substr,replacement|function)
參數1表示:一個正則對象或者單純的字串(該字串被視為一個整體,且僅僅是第一個匹配項被換掉);
參數2表示:用於替換參數1中匹配的字串,或者用一個函數的傳回值來替換參數1中的匹配項。
傳回值是一個部分或全部匹配由替代模式所取代的新的字串。
例子:
var str="life is cool life is beautiful";document.write(str.replace(/life/g,"web"));//web is cool web is beautiful
//交換字串中二個單詞var str="life is";document.write(str.replace(/(\w+)\s(\w+)/, "$2 $1"));//is life
九、search()方法
該方法檢索與Regex相匹配的子字串。如果傳入一個非Regex對象,則會使用 new RegExp(obj) 隱式地將其轉換為Regex對象。
傳回值是匹配到的字串中最初相符的索引。沒有則返回 -1。
search() 方法不執行全域匹配,它將忽略標誌 g。它同時忽略 regexp 的 lastIndex 屬性,並且總是從字串的開始進行檢索,這意味著它總是返回 stringObject 的第一個匹配的位置
例子:
var str="life is cool";document.write(str.search("e"));//3
十、slice()方法
該方法用於提取字串的一部分,並且返回新字串。
文法:
str.slice(start,end)
start參數表示提取的起始下標,如果是負數則加上字串的長度再開始提取。
end參數表示在該索引處結束提取字串,如果省略該參數表示提取到字串末尾。如果是負數則加上字串的長度再進行提取。
該方法與數組的slice功能類似。提取的字串索引包括start,但不包括end。
例子:
var str="life is cool";document.write(str.slice(2));//fe is cool
var str="life is cool";document.write(str.slice(-8,-2));//is co
十一、substr()方法
substr() 方法可在字串中抽取從 start 下標開始的指定數目的字元。
文法:
substr(start,length)
start參數表示提取的起始索引。負數的話加上字串長度再提取。
length參數表示提取的字元數,省略表示提取到末尾。
例子:
var str="life is cool";document.write(str.substr(2,5));//fe is
十二、substring()方法
該方法用於提取字串中兩個指定下標之間的字元。
文法:
str.substring(start,stop)
傳回值是一個新的字串,其內容是從 start 處到 stop-1 處的所有字元。
substring()方法參數不接受負數,這個跟slice和substr二個方法不同。
例子:
var str="life is cool";document.write(str.substring(2,8));//fe is
十三、split()方法
該方法用於將一個字串分割成字串數組。
文法:
str.split([separator,[length])
separtor參數表示用來分割的字元,它可以是個字串或者Regex,如果忽略這個參數,則返回整個字串的數組形式;
如果這個參數是個Null 字元串則原字串中的每個字元以數組形式返回。String.split() 執行的操作與 Array.join 執行的操作是相反的。
length參數表示數組返回的長度。如果省略整個字串將被分割。
例子:
//不帶參數 這整個字串以數組形式返回var str="life is cool";document.write(str.split());//life is cool
//參數為空白字元時,字串的每個字元都被分割var str="life is cool"; document.write(str.split(""));//l,i,f,e, ,i,s, ,c,o,o,l
var str="life is cool";document.write(str.split("",4));//l,i,f,e
var str="life7is8cool9";document.write(str.split(/\d/));//life,is,cool
十四、toLowerCase()方法
該方法把字串轉換為小寫。
例子:
var str="LIFE IS COOL"; document.write(str.toLowerCase());//life is cool
十五、toUpperCase()
該方法將字串值轉換為大寫形式,並返回。
例子:
var str="life is cool";document.write(str.toUpperCase());//LIFE IS COOL
十六、trim()方法
該方法用於刪除字串兩端空白。返回一個新的字串不影響原字串。(ie9以上才支援)
十七、valueOf()方法
該方法返回一個String對象的原始值。該方法通常在 JavaScript 內部被調用,而不是在代碼裡顯示調用。一般用來拆封。
十八、toString() 方法
奇妙的是除了數組,布爾,數字,等有toString方法,字串也有,不過一般不會調用該方法。
js String字串對象常見方法總結