JavaScript String 对象方法总结

类似文章推荐:
JavaScript Array 对象方法总结
JavaScript Object 对象方法总结
JavaScript Date 对象方法总结
JavaScript Math 对象方法总结

方法 描述 备注
charAt() 返回指定位置的字符
charCodeAt() 返回指定位置的字符的 Unicode 编码
concat() 字符串拼接, 返回拼接得到的新字符串
slice() 提取字符串的片断,并在新的字符串中返回被提取的部分
substr() 从起始索引号提取字符串中指定数目的字符 (包前不包后)
substring() 提取字符串中两个指定的索引号之间的字符 (包前不包后)
indexOf() 返回某个指定的字符串值在字符串中首次出现的位置
lastIndexOf() 从后向前搜索字符串,
并从起始位置(0)开始计算返回字符串最后出现的位置
toLowerCase() 把字符串转换为小写
toUpperCase() 把字符串转换为大写
match() 查找找到一个或多个正则表达式的匹配
search() 返回字符串中第一个匹配项的索引
如果没有找到匹配项, 则返回 -1
replace() 在字符串中查找匹配的子串,
并替换与正则表达式匹配的子串
split() 把字符串分割为字符串数组 字符串转数组
trim() 去除字符串两边的空白
localeCompare() 比较两个字符串的字符顺序
formCharCode() 接受一个指定的 Unicode 值,然后返回一个字符串 静态方法
valueOf() 返回某个字符串对象的原始值
includes() 确定一个字符串是否包含在另一个字符串中 ES6
startsWith() 确定一个字符串是否在另一个字符串头部 ES6
endsWith() 确定一个字符串是否在另一个字符串尾部 ES6
repeat() 重复原字符串 ES6
padStart() 在头部补全字符串 ES6
padEnd() 在尾部补全字符串 ES6

一. 字符方法

charAt()

  • 定义和用法

    • charAt() 方法可返回指定位置的字符
    • 第一个字符位置为 0, 第二个字符位置为 1,以此类推
  • 语法
    string.charAt(index);

    • 参数值
      • index 必需。表示字符串中某个位置的数字,即字符在字符串中的位置
    • 返回值
      • String 返回在指定位置的字符

charCodeAt()

  • 定义和用法

    • charCodeAt() 方法可返回指定位置的字符的 Unicode 编码
    • 字符串中第一个字符的位置为 0, 第二个字符位置为 1,以此类推
  • 语法
    string.charCodeAt(index);

    • 参数值
      • index 必需。表示字符串中某个位置的数字,即字符在字符串中的下标
    • 返回值
      • Number 返回在指定的位置的字符的 Unicode 编码

二. 字符串操作方法

concat()

  • 定义和用法
    用于将一或多个字符串拼接起来, 返回拼接得到的新字符串

  • 语法
    string.concat(string1, string2, ..., stringX);

    • 参数值
      • string1, string2, ..., stringX 必需。将被连接为一个字符串的一个或多个字符串对象
    • 返回值
      • String 两个或多个字符串连接后生成的新字符串
  • 提示
    虽然 concat() 是专门用来拼接字符串的方法, 但实践中使用更多的还是加号操作符(+). 而且, 使用加号操作符在大多数情况下都比使用 concat() 方法要简便易行(特别是在拼接多个字符串的情况下)

slice()

  • 定义和用法

    • slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分
    • 使用 start(包含) 和 end(不包含) 参数来指定字符串提取的部分
    • 字符串中第一个字符位置为 0, 第二个字符位置为 1, 以此类推
  • 语法
    string.slice(start, end);

    • 参数值
      • start 必需。 要抽取的片断的起始下标。第一个字符位置为 0
      • end 可选。 紧接着要截取的片段结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置
    • 返回值
      • String 提取的字符串
  • 提示
    如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推

substr()

  • 定义和用法
    substr() 方法可在字符串中抽取从开始下标开始的指定数目的字符

  • 语法
    string.substr(start, length);

    • 参数值
      • start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推
      • length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串
    • 返回值
      • String 包含提取文本部分的新字符串

substring()

  • 定义和用法
    substring() 方法用于提取字符串中介于两个指定下标之间的字符

  • 语法
    string.substring(from, to);

    • 参数值
      • from 必需。一个非负的整数,规定要提取的子串的第一个字符在 string Object 中的位置
      • to 可选。一个非负的整数,比要提取的子串的最后一个字符在 string Object 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾
    • 返回值
      • String 包括开头的字符,但不包括结尾的字符

三. 字符串位置方法

indexOf()

  • 定义和用法

    • indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置
    • 如果没有找到匹配的字符串则返回 -1
  • 语法
    string.indexOf(searchvalue, start);

    • 参数值
      • searchvalue 必需。规定需检索的字符串值
      • start 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索
    • 返回值
      • Number 查找指定字符串第一次出现的位置,如果没找到匹配的字符串则返回 -1

lastIndexOf()

  • 定义和用法
    lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,如果指定第二个参数 start,则在一个字符串中的指定位置从后向前搜索

  • 语法
    string.lastIndexOf(searchvalue, start);

    • 参数值
      • searchvalue 必需。规定需检索的字符串值
      • start 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索
    • 返回值
      • Number 查找的字符串最后出现的位置,如果没有找到匹配字符串则返回 -1
  • 注意
    该方法将从后向前检索字符串,但返回是从起始位置 (0) 开始计算子字符串最后出现的位置。 看它是否含有字符串
    开始检索的位置在字符串的 start 处或字符串的结尾(没有指定 start 时)
    如果没有找到匹配字符串则返回 -1

四. 字符串大小写转换方法

toLowerCase()

  • 定义和用法
    toLowerCase() 方法用于把字符串转换为小写

  • 语法
    string.toLowerCase()

toUpperCase()

  • 定义和用法
    toUpperCase() 方法用于把字符串转换为大写

  • 语法
    string.toUpperCase()

五. 字符串的模式匹配方法

match()

  • 定义和用法
    match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配

  • 语法
    string.match(regexp)

    • 参数值
      • regexp 必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。
    • 返回值
      • Array 存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。 如果没找到匹配结果返回 null
  • 注意

    • match() 方法将检索字符串 String Object,以找到一个或多个与 regexp 匹配的文本
    • 这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g
    • 如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配
    • 如果没有找到任何匹配的文本, match() 将返回 null
    • 否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息

search()

  • 定义和用法

    • search() 方法返回字符串中第一个匹配项的索引; 如果没有找到匹配项, 则返回 -1
    • search() 方法始终是从字符串开头向后查找模式
  • 语法
    string.search(searchvalue)

    • 参数值
      • searchvalue 必需。查找的字符串或者正则表达式
    • 返回值
      • Number 与指定查找的字符串或者正则表达式相匹配的 String 对象起始位置

replace()

  • 定义和用法

    • replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串
    • 该方法不会改变原始字符串
  • 语法
    string.replace(searchvalue,newvalue)

    • 参数值
      • searchvalue 必需。规定子字符串或要替换的模式的 RegExp 对象。
        请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象
      • newvalue 必需。一个字符串值。规定了替换文本或生成替换文本的函数
    • 返回值
      • String 一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的

split()

  • 定义和用法
    split() 方法用于把一个字符串分割成字符串数组

  • 语法
    string.split(separator,limit)

    • 参数值
      • separator 可选。字符串或正则表达式,从该参数指定的地方分割 stringObject
      • limit 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度
    • 返回值
      • Array 一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 string Object 分割成子串创建的。返回的数组中的字串不包括 separator 自身
  • 提示
    如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割

  • 注意
    split() 方法不改变原始字符串

六. 其他

trim()

  • 定义和用法
    trim() 方法会创建一个字符串的副本, 删除前置及后缀的所有空格, 然后返回结果

  • 语法
    string.trim();

    • 返回值
      • String 返回首尾没有空格的新字符串, 不改变原始字符串
  • 注意

  • 实例

let stringValue = "    hello world    ";

stringValue.trim(); // "hello world"

localeCompare()

  • 定义和用法
    从前到后依次比较两个字符串

  • 语法
    stringObject.localeCompare(target)

    • 参数值
      • target 要以本地特定的顺序与 stringObject 进行比较的字符串
    • 返回值
      • Number 从前到后依次比较两个字符串并返回下列值中的一个:
        • 如果字符串在字母表中应该排在字符串参数之前, 则返回一个负数 (大多数情况下是 -1)
        • 如果字符串等于字符串参数, 则返回 0
        • 如果字符串在字母表中应该排在字符串参数之后, 则返回一个正数 (大多数情况下是 1)
  • 注意
    localeCompare() 区分大小写, 同字母小写在前, 大写在后

  • 实例

let stringValue = "bcd";

stringValue.localeCompare("abc"); // 1
stringValue.localeCompare("bc"); // 1
stringValue.localeCompare("bcd"); // 0
stringValue.localeCompare("bcde"); // -1
stringValue.localeCompare("cd"); // -1
stringValue.localeCompare("Bcd"); // -1

formCharCode()

  • 定义和用法

    • fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串
    • 从本质来看, 这个方法与 charCodeAt() 执行的是相反的操作
  • 语法
    String.fromCharCode(numX, numX, ..., numX)

    • 参数值
      • numX 必需。一个或多个 Unicode 值,即要创建的字符串中的字符的 Unicode 编码
    • 返回值
      • String 返回代表 Unicode 编码的字符
  • 注意

    • 该方法是 String 的静态方法,字符串中的每个字符都由单独的数字 Unicode 编码指定
    • 它不能作为您已创建的 String 对象的方法来使用
    • 因此它的语法应该是 String.fromCharCode(),而不是 myStringObject.fromCharCode()
  • 实例

String.fromCharCode(104, 101, 108, 108, 111); // "hello"

valueOf()

  • 定义和用法
    valueOf() 方法可返回 String 对象的原始值

  • 语法
    string.valueOf()

  • 注意
    valueOf() 方法通常由 JavaScript 在后台自动进行调用,而不是显式地处于代码中

七. ES6 新增

includes()

  • 定义和用法
    确定一个字符串是否包含在另一个字符串中

  • 语法
    string.includes(searchvalue, start);

    • 参数值
      • searchvalue 必需。规定需检索的字符串值
      • start 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索
    • 返回值
      • Boolean 返回布尔值,表示是否找到了参数字符串

startsWith()

  • 定义和用法
    确定一个字符串是否在另一个字符串头部

  • 语法
    string.startsWith(searchvalue, start);

    • 参数值
      • searchvalue 必需。规定需检索的字符串值
      • start 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索
    • 返回值
      • Boolean 返回布尔值,表示参数字符串是否在原字符串的头部

endsWith()

  • 定义和用法
    确定一个字符串是否在另一个字符串尾部

  • 语法
    string.endsWith(searchvalue, start);

    • 参数值
      • searchvalue 必需。规定需检索的字符串值
      • start 可选的整数参数。规定在字符串中开始检索的位置 (针对的是该位置之前的字符)。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的尾字符开始检索
    • 返回值
      • Boolean 返回布尔值,表示参数字符串是否在原字符串的尾部

repeat()

  • 定义和用法
    重复原字符串

  • 语法
    string.endsWith(number);

    • 参数值
      • number 必需。规定重复的次数
  • 注意

    • 参数如果是小数,会被取整
    • 如果 repeat 的参数是负数或者 Infinity,会报错
    • 如果参数是 0 到-1 之间的小数,则等同于 0,这是因为会先进行取整运算。0 到 -1 之间的小数,取整以后等于 -0,repeat 视同为 0
    • 参数NaN等同于 0
    • 如果 repeat 的参数是字符串,则会先转换成数字

padStart()、padEnd()

  • 定义和用法
    如果某个字符串不够指定长度,会在头部或尾部补全. padStart() 用于头部补全,padEnd() 用于尾部补全

  • 语法
    string.padStart(length, value);
    string.padEnd(length, value);

    • 参数值
      • length 必需。规定字符串补全生效的最大长度
      • value 必需。用来补全字符串的内容
  • 注意

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

推荐阅读更多精彩内容