JS字符串(String)常用方法(Api)

总结一下在工作和学习中经常使用的String对象常用的API

charAt(index): 返回指定位置的字符

String对象charAt应用
注: index的值小于0 或者大于字符串的长度 - 1(即取不到值的时候) 都会返回空串


charCodeAt(index): 返回指定位置的字符的Unicode编码(可参照ASCLL码表)

String对象charCodeAt应用
注: index如果不写 则为0 取第一个字符进行转换

在工作中的应用:

因为业务与选项ABCD有关联,页面上显示的为ABCD选项, 数据库中存的确实0123, 所以在调用接口之前需要应用到charCodeAt()方法将ABCD转为0123。字符串A的Unicode编码为65 将其减去65就转换为0了 应用如下:
charCodeAt()应用实例


fromCharCode(num1, num2, …, numX) 将一个或者多个Unicode值,转为一个字符串

fromCharCode应用
注: fromCharCode()和charCodeAt()两个方法相对应 可以实现Unicode和字符之间的相互转换

在工作中的应用:

如以上charCodeAt()中的业务描述 当取到数据库中的0123 我们在页面上需要展示成ABCD这时候就要用到fromCharCode()了, 应用如下:
在这里插入图片描述


indexOf(searchValue, startIndex): 返回指定字符串值在字符串中首次出现的位置

参数说明:

  1. searchValue: 规定必需. 需要检索的字符串
  2. startIndex: 规定在字符串中开始检索的位置. 取值范围为 0 ~ 是String.length - 1。如果省略这个参数, 将从字符串的第一个字符开始检索

在这里插入图片描述
注: indexOf()方法对大小写敏感 如果检索不到这个字符串的话, 会返回 -1 所以可以通过返回值是否为 - 1 判断字符串中是否包含要检索的值 在工作中使用的频率很高


lastIndexOf(): 返回指定字符串值在字符串中最后出现的位置

在这里插入图片描述
注: lastIndexOf()方法和indexOf()一样 都对大小写敏感 如果检索不到这个字符串的话, 会返回 -1

在工作中的应用:

lastIndexOf()方法 在工作中有个很经典的应用 就是用来截取文件的后缀名 判断文件类型 (记得以前刚开始写JS的时候, 是用的indexOf()来截取的 然后文件名中带有’ . ’ 就直接崩了 哈哈) 应用如下:

在这里插入图片描述
通过lastIndexOf() 判断文件名称中最后一个’ . ’ 字符出现的位置 再使用substring()方法进行截取


replace(regexp/substr, replaceStr): 用于在字符串中用一些字符替换另一个些字符(可使用正则表达式匹配)

参数说明:

  1. regexp/substr: 需要替换掉的值 可以为一个字符串 也可以为正则表达式
  2. replaceStr: 被替换后的值

在这里插入图片描述
注: 如果是想替换所有出现的值 需要用到正则表达式中的 ’ g ’ 关键字 字符串只会替换第一次匹配到的

在工作中的应用:

之前在移动端开发时碰到一个很大的坑, IOS使用new Date(yyyy-mm-dd)将字符串转为时间对象时 会报错 然后导致页面崩溃 然后因为这个 我喜提一个严重阻塞bug单 所以在移动端开发时 如果设置yyyy-mm-dd格式时间字符串转为时间对象的操作 需要将yyyy-mm-dd替换成yyyy/mm/dd 这样IOS才能够转换成功 应用如下:
在这里插入图片描述


substr(start, len)、substring(start, end) 、slice(start, end) 用于截取字符串
  1. substr(start, len): 指定截取从start开始长度为len的字符串(长度不足的情况只截取到最后一个) 只传一个参数代表从start开始截取到最后 不推荐使用 ECMAscript 没有对该方法进行标准化
    在这里插入图片描述

  2. substring(start, end): 截取start开始到end位置的字符串(不包含end) 如果只传一个参数 从start开始截取到最后, substring会比较start和end的大小 较大的作为end 并且substring()不接收负数(会将其转换成0)
    在这里插入图片描述

  3. slice(start, end): 和substring基本相似 可以接收负数 比substring更灵活 如果参数接收负数, 则表示从尾部开始算起

在这里插入图片描述


split(separator,howmany): 用于把一个字符串分隔成字符串数组

参数说明:

  1. separator: 指定一个字符串或者正则表达式分隔字符串
  2. howmany: 指定分隔后数组的长度 非必填 如果设置了该参数,返回的数组的不会超过这个长度

在这里插入图片描述

注: 如果把空字符串"" 用作分隔符那么每个字符串之间都会被分开 如上图中的例子1, String.split() 执行的操作与 Array.join() 执行的操作是相反的


toLocaleLowerCase() 、toLocaleUpperCase()、toLowerCase()、toUpperCase() 将字符串进行大小写转换

在这里插入图片描述
注: 大多时候toLocaleLowerCase()和toLowerCase()、toLocaleUpperCase()和toUpperCase()返回的结果是一致的 除了集中特殊的语言(如土耳其语 这个和我们关系不大)


String.trim(): 去除字符串首尾空格 多用于输入验证

在这里插入图片描述