39.【javascript】最完整的字符串方法汇总(2021-03-07)

(1)Constructor

构造函数返回对创建实例原型的字符串函数的引用

语法:string.constructor

返回值:返回创建此对象实例的函数。

示例:String构造函数属性

var str = new String( "This is string" );

console.log("str.constructor is:" + str.constructor)

输出

str.constructor is:function String() { [native code] }



(2)Length

此属性返回字符串中的字符数

语法:string.length

示例:String构造函数属性

var uname = new String("Hello World")

console.log(uname)

console.log("Length "+uname.length) 

// returns the total number of characters

// including whitespace

输出

Hello World

Length 11



(3) prototype

prototype属性允许您向任何对象添加属性和方法(Number,Boolean,String,Date等)。注 - Prototype是一个全局属性,几乎可用于所有对象

语法:string.prototype

示例:对象原型

function employee(id, name) {

  this.id = id;

  this.name = name;

}

var emp = new employee(123, "Smith");

employee.prototype.email = "smith@abc.com";

console.log("Employee 's Id: " + emp.id);

console.log("Employee's name: " + emp.name);

console.log("Employee's Email ID: " + emp.email);

输出

Employee’s Id: 123

Employee’s name: Smith

Employee’s Email ID: smith@abc.com



(4)charAt

charAt()是一个从指定索引返回字符的方法。字符串中的字符从左到右编制索引。第一个字符的索引是0,字符串中最后一个字符的索引(称为stringName)是stringName.length - 1

语法:string.charAt(index);

参数:index - 小于字符串长度的0到1之间的整数。

返回值:返回指定索引中的字符。

var str = new String("This is string");

console.log("str.charAt(0) is:" + str.charAt(0));

console.log("str.charAt(1) is:" + str.charAt(1));

console.log("str.charAt(2) is:" + str.charAt(2));

console.log("str.charAt(3) is:" + str.charAt(3));

console.log("str.charAt(4) is:" + str.charAt(4));

console.log("str.charAt(5) is:" + str.charAt(5));

输出

str.charAt(0) is:T

str.charAt(1) is:h

str.charAt(2) is:i

str.charAt(3) is:s

str.charAt(4) is: 

str.charAt(5) is:i


(5)charCodeAt()

此方法返回一个数字,指示给定索引处字符的Unicode值。Unicode代码点的范围为0到1,114,111。前128个Unicode代码点是ASCII字符编码的直接匹配。charCodeAt()始终返回小于65,536的值

语法:string.charCodeAt(index);

参数:index - 小于字符串长度的0到1之间的整数; 如果未指定,则默认为0。

返回值:返回一个数字,指示给定索引处字符的Unicode值。如果给定索引的值不在字符串长度的0到1之间,则返回NaN

var str = new String("This is string");

console.log("str.charAt(0) is:" + str.charCodeAt(0));

console.log("str.charAt(1) is:" + str.charCodeAt(1));

console.log("str.charAt(2) is:" + str.charCodeAt(2));

console.log("str.charAt(3) is:" + str.charCodeAt(3));

console.log("str.charAt(4) is:" + str.charCodeAt(4));

console.log("str.charAt(5) is:" + str.charCodeAt(5));

输出

str.charAt(0) is:84

str.charAt(1) is:104

str.charAt(2) is:105

str.charAt(3) is:115

str.charAt(4) is:32

str.charAt(5) is:105



(6)cancat()

此方法添加两个或多个字符串并返回一个新的单个字符串

语法:string.concat(string2, string3[, ..., stringN]);详细参数string2 ... stringN - 这些是要连接的字符串。

返回值:返回单个连接字符串

var str1 = new String( "This is string one" );

var str2 = new String( "This is string two" );

var str3 = str1.concat( str2 );

console.log("str1 + str2 : "+str3)

输出

str1 + str2 : This is string oneThis is string two



(7)indexOf

此方法返回第一次出现的指定值的调用String对象中的索引,从fromIndex开始搜索,如果未找到该值,则返回-1。

语法:string.indexOf(searchValue[, fromIndex])详细参数searchValue - 表示要搜索的值的字符串。fromIndex - 调用字符串中用于开始搜索的位置。它可以是0到字符串长度之间的任何整数。默认值为0。

返回值:返回找到的匹配项的索引,否则返回-1(如果未找到)。

var str1 = new String( "This is string one" ); 

var index = str1.indexOf( "string" );

console.log("indexOf found String :" + index ); 

var index = str1.indexOf( "one" );

console.log("indexOf found String :" + index );

输出

indexOf found String :8

indexOf found String :15



(8)lastIndexOf

此方法返回指定值最后一次出现的调用String对象内的索引,从fromIndex开始搜索,如果未找到该值则返回-1

语法:string.lastIndexOf(searchValue[, fromIndex])

参数:searchValue - 表示要搜索的值的字符串。fromIndex - 调用字符串中用于开始搜索的位置。它可以是0到字符串长度之间的任何整数。默认值为0。

返回值:返回最后找到的事件的索引,否则返回-1(如果未找到)

var str1 = new String( "This is string one and again string" );

var index = str1.lastIndexOf( "string" );

console.log("lastIndexOf found String :" + index ); 

index = str1.lastIndexOf( "one" );

console.log("lastIndexOf found String :" + index );

输出

lastIndexOf found String :29

lastIndexOf found String :15



(9)localeCompare()

此方法返回一个数字,指示引用字符串是在排序顺序之前还是之后或与给定字符串相同。

语法:string.localeCompare( param )详细参数param - 要与字符串对象进行比较的字符串。

返回值:0 - 如果字符串匹配100%。1 - 不匹配,参数值位于区域设置排序顺序中字符串对象的值之前。负值 - 不匹配,参数值位于本地排序顺序中字符串对象的值之后。

var str1 = new String( "This is beautiful string" ); 

var index = str1.localeCompare( "This is beautiful string"); 

console.log("localeCompare first :" + index );

输出

localeCompare first :0



(10)replace()

此方法查找正则表达式和字符串之间的匹配项,并使用新的子字符串替换匹配的子字符串。

替换字符串可包括以下特殊替换模式

$$:插入“$”

$&:插入匹配的子字符串

$`:插入匹配子字符串之前的字符串部分

$”插入匹配子字符串后面的字符串部分

$ n或$ nn:如果n或nn是十进制数字,则插入第n个带括号的子匹配字符串,前提是第一个参数是RegExp对象

语法:string.replace(regexp/substr, newSubStr/function[, flags]);

参数:regexp - 一个RegExp对象。匹配由参数#2的返回值替换。substr - 要由newSubStr替换的String。newSubStr - 替换从参数#1接收的子字符串的String。function - 要调用以创建新子字符串的函数。flags - 包含RegExp标志的任意组合的String:g。

返回值:它只返回一个新的更改字符串

var re = /apples/gi;

var str = "Apples are round, and apples are juicy.";

var newstr = str.replace(re, "oranges");

console.log(newstr)

输出

oranges are round, and oranges are juicy.

var re = /(\w+)\s(\w+)/;

var str = "zara ali";

var newstr = str.replace(re, "$2, $1");

console.log(newstr);

输出

ali, zara



(11)search()

此方法执行正则表达式与此String对象之间的匹配搜索

语法:string.search(regexp);

参数:regexp - 正则表达式对象。如果传递了非RegExp对象obj,则使用新的RegExp(obj)将其隐式转换为RegExp。返回值:如果成功,搜索将返回字符串中正则表达式的索引。否则,它返回-1。

var re = /apples/gi;

var str = "Apples are round, and apples are juicy.";

if ( str.search(re) == -1 ) {

  console.log("Does not contain Apples" );

} else {

  console.log("Contains Apples" );

}

输出

Contains Apples.



(12)slice()

此方法提取字符串的一部分并返回一个新字符串

语法:string.slice( beginslice [, endSlice] );

参数:beginSlice - 开始提取的从零开始的索引。endSlice - 结束提取的从零开始的索引。如果省略,则将切片提取到字符串的末尾。

返回值:如果成功,slice将返回字符串中正则表达式的索引。否则,它返回-1。

var str = "Apples are round, and apples are juicy.";

var sliced = str.slice(3, -2);

console.log(sliced);

输出

les are round, and apples are juic


(13)split()

此方法通过将字符串分隔为子字符串将String对象拆分为字符串数组

语法:string.split([separator][, limit]);

参数:separator - 指定用于分隔字符串的字符。如果省略ifseparator,则返回的数组包含一个由整个字符串组成的元素。limit - 整数,指定要查找的拆分数限制。

返回值:split方法返回新数组。此外,当字符串为空时,split返回一个包含一个空字符串的数组,而不是一个空数组

var str = "Apples are round, and apples are juicy.";

var splitted = str.split(" ", 3);

console.log(splitted)

输出

[ 'Apples', 'are', 'round,' ]



(14)substr()

此方法返回从指定位置开始的字符串中的字符到指定的字符数

语法:string.substr(start[, length]);

参数:start - 开始提取字符的位置(0到1之间的整数,小于字符串的长度)。length - 要提取的字符数

返回值:substr()方法根据给定的参数返回新的子字符串

var str = "Apples are round, and apples are juicy.";

console.log("(1,2): "    + str.substr(1,2));

console.log("(-2,2): "  + str.substr(-2,2));

console.log("(1): "      + str.substr(1));

console.log("(-20, 2): " + str.substr(-20,2));

console.log("(20, 2): "  + str.substr(20,2));

输出

(1,2): pp

(-2,2): y.

(1): pples are round, and apples are juicy.

(-20, 2): nd

(20, 2): d



(15)substring()

此方法返回String对象的子集

语法:string.substring(indexA, [indexB])

参数:indexA - 一个介于0和1之间的整数,小于字符串的长度。indexB - (可选)0到字符串长度之间的整数。

返回值:该子方法返回根据给定参数的新子

var str = "Apples are round, and apples are juicy.";

console.log("(1,2): "    + str.substring(1,2));

console.log("(0,10): "  + str.substring(0, 10));

console.log("(5): "      + str.substring(5));

输出

(1,2): p

(0,10): Apples are

(5): s are round, and apples are juicy



(16)toLocaleLowerCase()

此方法用于在尊重当前区域设置的同时将字符串中的字符转换为小写。对于大多数语言,它返回与toLowerCase相同的输出。

语法:string.toLocaleLowerCase( )

返回值:返回当前语言环境的小写字符串。

var str = "Apples are round, and Apples are Juicy.";

console.log(str.toLocaleLowerCase( ));

输出

apples are round, and apples are juicy.



(17)toLowerCase()

此方法返回转换为小写的调用字符串值

语法:string.toLowerCase( )

返回值:返回转换为小写的调用字符串值

var str = "Apples are round, and Apples are Juicy.";

console.log(str.toLowerCase( ))

输出

apples are round, and apples are juicy.



(18)toString()

此方法返回表示指定对象的字符串

语法:string.toString()

返回值:返回表示指定对象的字符串。

var str = "Apples are round, and Apples are Juicy.";

console.log(str.toString( ));

输出

Apples are round, and Apples are Juicy.



(19)toUpperCase()

此方法返回转换为大写的调用字符串值

语法:string.toUpperCase()

返回值:返回表示指定对象的字符串

var str = "Apples are round, and Apples are Juicy.";

console.log(str.toUpperCase( ));

输出

APPLES ARE ROUND, AND APPLES ARE JUICY.



(20)valueOf()

此方法返回String对象的原始值

语法:string.valueOf()

返回值:返回String对象的原始值。

var str = new String("Hello world");

console.log(str.valueOf( ));

输出

Hello world



(21)startsWith()

该方法确定字符串是否以指定字符开头

语法:str.startsWith(searchString[, position])

参数:searchString - 要在此字符串开头搜索的字符。Position - 此字符串中开始搜索searchString的位置; 默认为0。

返回值:如果字符串以搜索字符串的字符开头,则为true;否则为false。否则,假。

var str = 'hello world!!!';

console.log(str.startsWith('hello'));

输出

true



(22)endsWith()

此函数确定字符串是否以另一个字符串的字符结尾。

语法:str.endsWith(matchstring[, position])

参数:matchstring - 字符串必须以的字符结尾。它区分大小写。Position - 匹配matchstring的位置。此参数是可选的。

返回值:如果字符串以匹配字符串的字符结尾,则为true;否则为false。否则,假。

var str = 'Hello World !!! ';

console.log(str.endsWith('Hello'));

console.log(str.endsWith('Hello',5));

输出

false

true



(23)includes()

该方法确定字符串是否是给定字符串的子字符串

语法:str.includes(searchString[, position])

参数:searchString - 要搜索的子字符串。Position - 此字符串中开始搜索searchString的位置; 默认为0。

返回值:如果字符串包含子字符串,则为true ; 否则,假

var str = 'Hello World'; 

console.log(str.includes('hell'))   

console.log(str.includes('Hell')); 

console.log(str.includes('or')); 

console.log(str.includes('or',1))

输出

false

true

true

true



(24)repeat()

此函数重复指定的字符串指定的次数

语法:str.repeat(count)

参数:计数 - 字符串应重复的次数

返回值:返回一个新字符串

var myBook = new String("Perl");

console.log(myBook.repeat(2));

输出

PerlPerl

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容