js 基础知识之字符串(夯实基础)

前言

在前端开发总被调侃为 ”cv 工程事“, 在实际工作中很多人都忙着完成日常开发任务。用到什么知识点在到网上查询,很多时候都在调用别人的api,这就有了我是一名cv工程师。无论技术怎么发展,但是始终离不开技术的根本,对于前端来说,js 就是基础;闲暇之余来回顾回顾js 基础。夯实自己,记录下来方便后期回顾;

js 字符串常用方法汇总

1、js原生方法

(1) valueOf()
valueOf() 返回字符串对象本身
const s = 'abc'
s.valueOf()  //结果‘abc’
(2) toString()
toString() 返回字符串对象本身
const s = 'abc'
s.toString() //结果‘abc’

2、字符串长度

(1)  length
length 返回字符串长度
const s = 'abc'
s.length // 结果 3

3、字符串截取

(1)substr()
substr(start, length)接收两个参数,第一个参数需要截取字符的开始下标,如果是负数,那么该参数声明从字符串的尾部开始算起的位置。 第二个参数为要截取的长度。当第二个参数不传时,截取到字符最后一个长度。不包含开始下标,js中已被弃用
let s = 'abc'
s.substr(1,2)  //bc
(2)substring()
substring(start, end)  该方法使用于截取指定下标间的字符串,不包含开始下标
let s = 'abc'
s.substring(1,3) //bc
(3)slice()
slice(start, end) 用于截取开始位置到结束位置的字符,第一个参数可为负数,如果为负数,从字符最后一位开始,第二参数如果不传,则位重start 起始 到 字符结束
let s = 'abc'
s.slice(1) // bc
s.clice(1,3) //bc
s.clice(-1) // c

4、字符串拼接

(1)concat()
concat() 用于连接一个或者多个字符串,不改变原字符串,返回两个或者多个字符拼接完成后的字符;
let s1 = 'abc'
let s2 = 'abc'
s1.concat(s2)  //'abcabc'

5、 字符串匹配查询

	(1)replace()
	replace(seachValue, newStr) 使用于字符串中匹配的字符使用新字符替换,或者替换一个与正则表达式想匹配的字符。
let str = 'abc'
str.replace('a', 'vv') // 'vvbc'
str.replace('ab', 'vv')// 'vvc'
let str1 = 'abfabccabk'
str1.replace(/ab/gi, pp)  //'ppfppccppk'  全局匹配ab使用 pp 替换
(2)match()
match(regexp) 该方法用于在字符串中检索指定的值,或者正则匹配的值 一个或者多个;该方法返回指定的值;
let s = 'abc'
s.match('a')  //[ 'a', index: 0, input: 'abc', groups: undefined ]
(3)search()
search(searchValue)  该方法用于检索字符串中指定字符,或者正则表达式匹配的字符,返回字符串中首次匹配到的字符下标;
let str = 'abc'
str.search('a') // 0
str.search(/a/) // 0

6、字符串大小写转换

(1)toLowerCase()
toLowerCase()  使用与将 字符串大写字母转化为小写字母
let str = 'abcACD'
str.toLowerCase() //abcacd
(2)toUpperCase() 
toUpperCase() 使用于将字符小写转换为大写
let str = 'abc'
str.toUpperCase() // ABC

7、字符串去除前后空格

(1)trim()
trim() 使用于去除字符串 首位的空格符
let str = '  abc  '
str.trim() // 'abc'
(2)trimStart()
trimStart()  方法使用于去除字符串开始 的空格
let str =' abc '
str.trimStart() // 'abc '
(3)trimEnd()
trimEnd() 使用于去除字符串结尾的空格
let str = ' abc '
str.trimEnd()  // ' abc'

8、检索字符串是否包含指定系列值

(1)indexOf()
indexOf(searchValue, index) 该方法使用在字符传中查找指定的字符,接收两个参数,第一个参数:要查找的值, 第二个参数为:指定查找的指定位置;如果查找到返回第一次查找到字符下标, 未查找到返回 -1
let str = 'abc'
str.indexOf('a') // 0
str.indexOf('s') // -1
(2)lastIndexOf()
lastIndexOf(searchValue, index) 使用于查找字符中指定字符,使用方式与indexOf() 相同, 不同点在于该方法返回 最后一次匹配到的字符的下标,未匹配到返回 -1;
let str = 'abcabc'
str.lastIndexOf('b') // 4
(3)include()
include(searchValue) 使用于 查询字符串中是否包含指定字符,匹配到则返回 true , 为匹配到则返回 false
let str = 'abc'
str.include('a')   //true
str.include('g')  // false
(4)startsWith()
startsWith(regValue)  使用于判断字符串是否为以指定的字符串开始  匹配上返回 true, 未匹配上返回false
let str = 'abc'

str.startsWith('a')  //true
str.startsWith('d')  //false
(5)endsWith()
endsWith(regValue) 使用于 匹配字符串是否为以指定的字符串结尾  匹配到则返回true, 未匹配到返回false
let str = 'abc'
str.endsWith('c') // true
str.endsWith('hd') // false

9、字符串分割成数组

(1)split()
split(spValue, limit) 使用于 将字符串以指定字符分割为数组,接收两个参数,第一个参数:指定的使用来切割字符的值,第二个参数: 指定返回数组的长度;第二个参数不传时整个字符都会被分割;
let str = 'abc'
str.split('')  //['a', 'b', 'c']
str.split('', 2) //['a', 'b']
str.split('b')  // ['a', 'c']

10、获取字符串指定位置值

(1)charAt()
charAt(index)  使用于 查找字符串指定下标的值
let str = 'abc'
str.charAt(1);// 'b'

(2)charCodeAt()
charCodeAt(index) 使用于 查找指定字符串下标的Unicode 的值
let str = 'abc'
str.charCodeAt(1) // 98

11、字符串转为数字

(1)parseInt()
parseInt(val,num)   使用于将字符串转换为number 返回整数, 接收两个参数 第一个为要解析的字符串, 第二个参数: 表示要解析的数字的基数。该值介于 2 ~ 36 之间
let str = '34'
parseInt(str) // 34
parseInt(str, 16) // 52
parseInt('010') // 8
(2)parseFloat()
parseFloat(val)  使用于解析字符串,返回浮点数 
parseFloat('100.00')   // 100.00
paserFloat('12.01 克')  // 13.01
parseInt('year, 100') // NAN

12、重复字符串

(1)repeat()
repeat(num)  使用于 重字符串, 返回一个新字符, 参数如果为小数,则向下取整; 如果参数不为整数, 其他都会报错
let str = 'abc'
str.repeat(2)  // 'abcabc'
str.repeat(2.6) // 'abcabc'

13、字符串补全

(1)padStart()
padStart(num, str) 使用来 字符串开头补全字符串, 接收两个参数: 第一个参数不全后的字符的长度,第二个参数: 使用来补全的字符串;
let str = 'abc'
str.padStart(4, 'm')  // mabc
str.padstart(4) // ' abc'  默认使用空格补全
(2)padEnd()
padEnd(num, str)  使用来从字符传末位补全字符 接收两个参数, 第一个参数: 补全后的字符长度, 第二个参数: 使用来补全的字符串;
let str = 'abc'
str.padEnd(5, 'x')  //abcxx
str.padEnd(3,'x') // abc

猜你喜欢

转载自blog.csdn.net/weixin_47659945/article/details/128713918