來源 | https://segmentfault.com/a/1190000020204425
本文主要介紹一些最常用的JS字符串函數。
1. charAt(x)charAt(x)返回字符串中x位置的字符,下標從 0 開始。
var myString = 'jQuery FTW!!!'; console.log(myString.charAt(7)); 2. charCodeAt(x)`charCodeAt(x)`返回字符串中`x`位置處字符的`unicode`值。
var message="jquery4u" alert(message.charAt(1)3. concat(v1,v2..)concat() 方法用於連接兩個或多個字符串,此方法不改變現有的字符串,返回拼接後的新的字符串。
//concat(v1, v2,..) var message="Sam" var final=message.concat(" is a"," hopeless romantic.") alert(final)4. fromCharcode(c1,c2)fromCharcode(c1,c2)轉換一組Unicode值轉換為字符。
console.log(String.fromCharCode(97,98,99,120,121,122)) console.log(String.fromCharCode(72,69,76,76,79)) 5. indexOf(substr, [start])indexOf方法搜索並(如果找到)返回字符串中搜索到的字符或子字符串的索引。如果沒有找到,則返回-1。Start是一個可選參數,指定字符串中開始搜索的位置,默認值為0。
var sentence="Hi, my name is Sam!" if (sentence.indexOf("Sam")!=-1) alert("Sam is in there!")6. lastIndexOf(substr, [start])lastIndexOf() 方法返回指定文本在字符串中最後一次出現的索引, 如果未找到,則返回-1。「Start」是一個可選參數,指定字符串中開始搜索的位置, 默認值為string.length-1。
var myString = 'javascript rox'; console.log(myString.lastIndexOf('r')); 7. match(regexp)根據正則表達式在字符串中搜索匹配項。如果沒有找到匹配項,則返回一個信息數組或null。
var intRegex = /[0-9 -()+]+$/; var myNumber = '999'; var myInt = myNumber.match(intRegex); console.log(isInt); var myString = '999 JS Coders'; var myInt = myString.match(intRegex); console.log(isInt); 8. replace(regexp/substr, replacetext)replace() 方法用於在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。
var myString = '999 JavaScript Coders'; console.log(myString.replace(/JavaScript/i, "jQuery")); var myString = '999 JavaScript Coders'; console.log(myString.replace(new RegExp( "999", "gi" ), "The")); 9. search(regexp)search() 方法用於檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串,如果找到,返回與 regexp 相匹配的子串的起始位置,否則返回 -1。
var intRegex = /[0-9 -()+]+$/; var myNumber = '999'; var isInt = myNumber.search(intRegex); console.log(isInt); 10. slice(start, [end])slice() 方法可提取字符串的某個部分,返回一個新的字符串。包括字符串從 start 開始(包括 start)到 end 結束(不包括 end)為止的所有字符。
//slice(start, end) var text="excellent" text.slice(0,4) //returns "exce" text.slice(2,4) //returns "ce"11. split(delimiter, [limit])split() 方法用於把一個字符串分割成字符串數組,返回一個字符串數組返回的數組中的字串不包括 delimiter自身。可選的「limit」是一個整數,允許各位指定要返回的最大數組的元素個數。
12. substr(start, [length])substr() 方法可在字符串中抽取從 start 下標開始的指定數目的字符。返回一個新的字符串,包含從 start(包括 start 所指的字符) 處開始的 length 個字符。如果沒有指定 length,那麼返回的字符串包含從 start 到該字符串的結尾的字符。
var text="excellent" text.substring(0,4) text.substring(2,4) 13. substring(from, [to])substring() 方法用於提取字符串中介於兩個指定下標之間的字符,方返回的子串包括 start 處的字符,但不包括 stop 處的字符,to 可選,如果省略該參數,那麼返回的子串會一直到字符串的結尾。
var myString = 'javascript rox'; myString = myString.substring(0,10); console.log(myString) 14. toLowerCase()toLowerCase() 方法用於把字符串轉換為小寫。
var myString = 'JAVASCRIPT ROX'; myString = myString.toLowerCase(); console.log(myString) 15. toUpperCase()toUpperCase() 方法用於把字符串轉換為大寫。
var myString = 'javascript rox'; myString = myString.toUpperCase(); console.log(myString) 16. includes()includes() 方法用於檢查字符串是否包含指定的字符串或字符。
var mystring = "Hello, welcome to edureka"; var n = mystring.includes("edureka"); 17. endsWith()endsWith()函數檢查字符串是否以指定的字符串或字符結束。
var mystr = "List of javascript functions"; var n = mystr.endsWith("functions"); 18. repeat()repeat() 構造並返回一個新字符串,該字符串包含被連接在一起的指定數量的字符串的副本。
var string = "Welcome to Edureka"; string.repeat(2); 19. valueOf()valueOf() 方法返回一個String對象的原始值(primitive value),該值等同於String.prototype.toString()。
var mystr = "Hello World!"; var res = mystr.valueOf(); 20. trim()trim() 方法會從一個字符串的兩端刪除空白字符。在這個上下文中的空白字符是所有的空白字符 (space, tab, no-break space 等) 以及所有行終止符字符(如 LF,CR)。
var str = " Hello Edureka! "; alert(str.trim());