摘要: 玩轉(zhuǎn)JS字符串。
- 原文:JS 前20個常用字符串方法及使用方式
- 譯者:前端小智
Fundebug經(jīng)授權轉(zhuǎn)載隅茎,版權歸原作者所有。
本文主要介紹一些最常用的JS
字符串函數(shù)。
1. charAt(x)
charAt(x)
返回字符串中x
位置的字符铜秆,下標從 0
開始奢米。
//charAt(x)
var myString = 'jQuery FTW!!!';
console.log(myString.charAt(7));
//output: F
2. charCodeAt(x)
`charCodeAt(x)`返回字符串中`x`位置處字符的`unicode`值抓韩。
//charAt(position)
var message="jquery4u"
//alert "113"
alert(message.charAt(1)
3. concat(v1,v2..)
concat()
方法用于連接兩個或多個字符串,此方法不改變現(xiàn)有的字符串鬓长,返回拼接后的新的字符串谒拴。
//concat(v1, v2,..)
var message="Sam"
var final=message.concat(" is a"," hopeless romantic.")
//alerts "Sam is a hopeless romantic."
alert(final)
4. fromCharcode(c1,c2)
fromCharcode(c1,c2)
轉(zhuǎn)換一組Unicode
值轉(zhuǎn)換為字符。
//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
5. indexOf(substr, [start])
indexOf
方法搜索并(如果找到)返回字符串中搜索到的字符或子字符串的索引涉波。如果沒有找到英上,則返回-1
。Start
是一個可選參數(shù)啤覆,指定字符串中開始搜索的位置苍日,默認值為0
。
//indexOf(char/substring)
var sentence="Hi, my name is Sam!"
if (sentence.indexOf("Sam")!=-1)
alert("Sam is in there!")
6. lastIndexOf(substr, [start])
lastIndexOf()
方法返回指定文本在字符串中最后一次出現(xiàn)的索引, 如果未找到窗声,則返回-1
相恃。 “Start
”是一個可選參數(shù),指定字符串中開始搜索的位置, 默認值為string.length-1
笨觅。
//lastIndexOf(substr, [start])
var myString = 'javascript rox';
console.log(myString.lastIndexOf('r'));
//output: 11
7. match(regexp)
根據(jù)正則表達式在字符串中搜索匹配項拦耐。如果沒有找到匹配項,則返回一個信息數(shù)組或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
8. replace(regexp/substr, replacetext)
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
9. search(regexp)
search()
方法用于檢索字符串中指定的子字符串苍苞,或檢索與正則表達式相匹配的子字符串固翰,如果找到,返回與 regexp
相匹配的子串的起始位置柒啤,否則返回 -1
倦挂。
//search(regexp)
var intRegex = /[0-9 -()+]+$/;
var myNumber = '999';
var isInt = myNumber.search(intRegex);
console.log(isInt);
//output: 0
10. slice(start, [end])
slice()
方法可提取字符串的某個部分,返回一個新的字符串担巩。包括字符串從 start
開始(包括 start)到 end
結(jié)束(不包括 end
)為止的所有字符方援。
//slice(start, end)
var text="excellent"
text.slice(0,4) //returns "exce"
text.slice(2,4) //returns "ce"
11. split(delimiter, [limit])
split()
方法用于把一個字符串分割成字符串數(shù)組,返回一個字符串數(shù)組返回的數(shù)組中的字串不包括 delimiter
自身涛癌。 可選的“limit
”是一個整數(shù)犯戏,允許各位指定要返回的最大數(shù)組的元素個數(shù)送火。
12. substr(start, [length])
substr()
方法可在字符串中抽取從 start
下標開始的指定數(shù)目的字符。返回一個新的字符串先匪,包含從 start
(包括 start 所指的字符) 處開始的 length
個字符种吸。如果沒有指定 length
,那么返回的字符串包含從 start
到該字符串的結(jié)尾的字符呀非。
//substring(from, to)
var text="excellent"
text.substring(0,4) //returns "exce"
text.substring(2,4) //returns "ce"
13. substring(from, [to])
substring()
方法用于提取字符串中介于兩個指定下標之間的字符坚俗,方返回的子串包括 start
處的字符,但不包括 stop
處的字符岸裙,to
可選猖败,如果省略該參數(shù),那么返回的子串會一直到字符串的結(jié)尾降允。
//substring(from, [to])
var myString = 'javascript rox';
myString = myString.substring(0,10);
console.log(myString)
//output: javascript
14. toLowerCase()
toLowerCase()
方法用于把字符串轉(zhuǎn)換為小寫恩闻。
//toLowerCase()
var myString = 'JAVASCRIPT ROX';
myString = myString.toLowerCase();
console.log(myString)
//output: javascript rox
15. toUpperCase()
toUpperCase()
方法用于把字符串轉(zhuǎn)換為大寫。
//toUpperCase()
var myString = 'javascript rox';
myString = myString.toUpperCase();
console.log(myString)
//output: JAVASCRIPT ROX
16. includes()
includes()
方法用于檢查字符串是否包含指定的字符串或字符剧董。
//includes()
var mystring = "Hello, welcome to edureka";
var n = mystring.includes("edureka");
//output: True
17. endsWith()
endsWith()
函數(shù)檢查字符串是否以指定的字符串或字符結(jié)束幢尚。
//endsWith()
var mystr = "List of javascript functions";
var n = mystr.endsWith("functions");
//output: True
18. repeat()
repeat()
構造并返回一個新字符串,該字符串包含被連接在一起的指定數(shù)量的字符串的副本翅楼。
//repeat()
var string = "Welcome to Edureka";
string.repeat(2);
//output: Welcome to Edureka Welcome to Edureka
19. valueOf()
valueOf()
方法返回一個String
對象的原始值(primitive value)尉剩,該值等同于String.prototype.toString()
。
//valueOf()
var mystr = "Hello World!";
var res = mystr.valueOf();
//output: Hello World!
20. trim()
trim()
方法會從一個字符串的兩端刪除空白字符犁嗅。在這個上下文中的空白字符是所有的空白字符 (space, tab, no-break space 等) 以及所有行終止符字符(如 LF边涕,CR)
//trim()
var str = " Hello Edureka! ";
alert(str.trim());
代碼部署后可能存在的BUG沒法實時知道,事后為了解決這些BUG褂微,花了大量的時間進行l(wèi)og 調(diào)試功蜓,這邊順便給大家推薦一個好用的BUG監(jiān)控工具 Fundebug。
關于Fundebug
Fundebug專注于JavaScript宠蚂、微信小程序式撼、微信小游戲、支付寶小程序求厕、React Native著隆、Node.js和Java線上應用實時BUG監(jiān)控。 自從2016年雙十一正式上線呀癣,F(xiàn)undebug累計處理了20億+錯誤事件美浦,付費客戶有陽光保險、核桃編程项栏、荔枝FM浦辨、掌門1對1、微脈沼沈、青團社等眾多品牌企業(yè)流酬。歡迎大家免費試用币厕!