文本记录
一些js内置的文本操作的方法函数记录文章。
是否包含
includes()
返回布尔值,表示是否找到了参数字符串。
js
let str = 'Hello world!';
str.includes('o') // true
是否在头部
startsWith()
返回布尔值,表示参数字符串是否在原字符串的头部。
js
let str = 'Hello world!';
str.startsWith('Hello') // true
是否在尾部
endsWith()
返回布尔值,表示参数字符串是否在原字符串的尾部。
js
let str = 'Hello world!';
str.endsWith('!') // true
字符串重复
repeat()
返回一个新字符串,表示将原字符串重复 n
次。
js
let str = 'hello'
str.repeat(2) // "hellohello"
头部补全
padStart()
字符串不够指定长度,将头部补全
js
let str = 'hello'
str.padStart(9, 'vue-') // 'vue-hello'
//处理日期时间格式时,比较好用
let str = '2'
str.padStart(2, '0') // '02'
尾部补全
padEnd()
字符串不够指定长度,将尾部补全。
js
let str = '2'
str.padEnd(2, '0') // '20'
消除头部空格
trimStart()
消除字符串头部的空格(返回的都是新字符串,不会修改原始字符串)
js
const str = ' hello';
str.trimStart() // "hello"
消除尾部空格
trimEnd()
消除尾部的空格 (返回的都是新字符串,不会修改原始字符串)
js
const str = 'hello ';
str.trimEnd() // "hello"
替换所有匹配
matchAll()
返回一个正则表达式在当前字符串的所有匹配 replaceAll()
可以一次性替换所有匹配。
js
const str = 'aabbcc';
str.replaceAll('b', '_') // 'aa__cc'
索引
at()
接受一个整数作为参数,返回参数指定位置的字符,支持负索引
js
const str = 'hello';
str.at(1) // "e"
光标所在位置
js
const specialDom = document.getElementById('输入框ID')
const startPos = specialDom?.selectionStart || 0
const endPos = specialDom?.selectionEnd || 0
vue方式
vue
<template>
<el-input @blur="specialInputBlur"/>
</template>
<script setup>
//失去焦点事件,当然也可以用鼠标右键事件等获取
const specialInputBlur = (e) => {
const startPos = e?.target?.selectionStart || 0
const endPos = e?.target?.selectionEnd || 0
}
</script>