摘要: 玩轉JS字符串。javascript
Fundebug經受權轉載,版權歸原做者全部。前端
本文主要介紹一些最經常使用的JS
字符串函數。java
charAt(x)
返回字符串中x
位置的字符,下標從 0
開始。jquery
//charAt(x) var myString = 'jQuery FTW!!!'; console.log(myString.charAt(7)); //output: F
`charCodeAt(x)`返回字符串中`x`位置處字符的`unicode`值。 //charAt(position) var message="jquery4u" //alert "113" alert(message.charAt(1)
concat()
方法用於鏈接兩個或多個字符串,此方法不改變現有的字符串,返回拼接後的新的字符串。正則表達式
//concat(v1, v2,..) var message="Sam" var final=message.concat(" is a"," hopeless romantic.") //alerts "Sam is a hopeless romantic." alert(final)
fromCharcode(c1,c2)
轉換一組Unicode
值轉換爲字符。編程
//fromCharCode(c1, c2,...) console.log(String.fromCharCode(97,98,99,120,121,122)) //output: abcxyz console.log(String.fromCharCode(72,69,76,76,79)) //output: HELLO
indexOf
方法搜索並(若是找到)返回字符串中搜索到的字符或子字符串的索引。若是沒有找到,則返回-1
。Start
是一個可選參數,指定字符串中開始搜索的位置,默認值爲0
。小程序
//indexOf(char/substring) var sentence="Hi, my name is Sam!" if (sentence.indexOf("Sam")!=-1) alert("Sam is in there!")
lastIndexOf()
方法返回指定文本在字符串中最後一次出現的索引, 若是未找到,則返回-1
。 「Start
」是一個可選參數,指定字符串中開始搜索的位置, 默認值爲string.length-1
。segmentfault
//lastIndexOf(substr, [start]) var myString = 'javascript rox'; console.log(myString.lastIndexOf('r')); //output: 11
根據正則表達式在字符串中搜索匹配項。若是沒有找到匹配項,則返回一個信息數組或null
。微信小程序
//match(regexp) //select integers only var intRegex = /[0-9 -()+]+$/; var myNumber = '999'; var myInt = myNumber.match(intRegex); console.log(isInt); //output: 999 var myString = '999 JS Coders'; var myInt = myString.match(intRegex); console.log(isInt); //output: null
replace()
方法用於在字符串中用一些字符替換另外一些字符,或替換一個與正則表達式匹配的子串。數組
//replace(substr, replacetext) var myString = '999 JavaScript Coders'; console.log(myString.replace(/JavaScript/i, "jQuery")); //output: 999 jQuery Coders //replace(regexp, replacetext) var myString = '999 JavaScript Coders'; console.log(myString.replace(new RegExp( "999", "gi" ), "The")); //output: The JavaScript Coders
search()
方法用於檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串,若是找到,返回與 regexp
相匹配的子串的起始位置,不然返回 -1
。
//search(regexp) var intRegex = /[0-9 -()+]+$/; var myNumber = '999'; var isInt = myNumber.search(intRegex); console.log(isInt); //output: 0
slice()
方法可提取字符串的某個部分,返回一個新的字符串。包括字符串從 start
開始(包括 start)到 end
結束(不包括 end
)爲止的全部字符。
//slice(start, end) var text="excellent" text.slice(0,4) //returns "exce" text.slice(2,4) //returns "ce"
split()
方法用於把一個字符串分割成字符串數組,返回一個字符串數組返回的數組中的字串不包括 delimiter
自身。 可選的「limit
」是一個整數,容許各位指定要返回的最大數組的元素個數。
substr()
方法可在字符串中抽取從 start
下標開始的指定數目的字符。返回一個新的字符串,包含從 start
(包括 start 所指的字符) 處開始的 length
個字符。若是沒有指定 length
,那麼返回的字符串包含從 start
到該字符串的結尾的字符。
//substring(from, to) var text="excellent" text.substring(0,4) //returns "exce" text.substring(2,4) //returns "ce"
substring()
方法用於提取字符串中介於兩個指定下標之間的字符,方返回的子串包括 start
處的字符,但不包括 stop
處的字符,to
可選,若是省略該參數,那麼返回的子串會一直到字符串的結尾。
//substring(from, [to]) var myString = 'javascript rox'; myString = myString.substring(0,10); console.log(myString) //output: javascript
toLowerCase()
方法用於把字符串轉換爲小寫。
//toLowerCase() var myString = 'JAVASCRIPT ROX'; myString = myString.toLowerCase(); console.log(myString) //output: javascript rox
toUpperCase()
方法用於把字符串轉換爲大寫。
//toUpperCase() var myString = 'javascript rox'; myString = myString.toUpperCase(); console.log(myString) //output: JAVASCRIPT ROX
includes()
方法用於檢查字符串是否包含指定的字符串或字符。
//includes() var mystring = "Hello, welcome to edureka"; var n = mystring.includes("edureka"); //output: True
endsWith()
函數檢查字符串是否以指定的字符串或字符結束。
//endsWith() var mystr = "List of javascript functions"; var n = mystr.endsWith("functions"); //output: True
repeat()
構造並返回一個新字符串,該字符串包含被鏈接在一塊兒的指定數量的字符串的副本。
//repeat() var string = "Welcome to Edureka"; string.repeat(2); //output: Welcome to Edureka Welcome to Edureka
valueOf()
方法返回一個String
對象的原始值(primitive value),該值等同於String.prototype.toString()
。
//valueOf() var mystr = "Hello World!"; var res = mystr.valueOf(); //output: Hello World!
trim()
方法會從一個字符串的兩端刪除空白字符。在這個上下文中的空白字符是全部的空白字符 (space, tab, no-break space 等) 以及全部行終止符字符(如 LF,CR)
//trim() var str = " Hello Edureka! "; alert(str.trim());
代碼部署後可能存在的BUG無法實時知道,過後爲了解決這些BUG,花了大量的時間進行log 調試,這邊順便給你們推薦一個好用的BUG監控工具 Fundebug。
Fundebug專一於JavaScript、微信小程序、微信小遊戲、支付寶小程序、React Native、Node.js和Java線上應用實時BUG監控。 自從2016年雙十一正式上線,Fundebug累計處理了20億+錯誤事件,付費客戶有陽光保險、核桃編程、荔枝FM、掌門1對一、微脈、青團社等衆多品牌企業。歡迎你們免費試用!