JS字符串补全⽅法padStart()和padEnd()
这个⽅法⽆意中看到的,感觉还是蛮实⽤的,特此分享⼀波。我想⼤家都会有遇到将时间戳转换成时间格式的时候,时间或⽇期不⾜2位的前⾯补0。有了今天说的这个东西,就⼜可以少写⼏⾏代码了,⼤家在项⽬中遇到类似场景可以去使⽤感受下。
ES2017 引⼊了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。
padStart() padEnd() ⽅法⽤另⼀个字符串填充当前字符串(如果需要的话则重复填充),返回填充后达到指定长度的字符串。padStart() 从当前字符串的开始(左侧) 位置填充。
padEnd() 从当前字符串的末尾(右侧)开始填充。
语法:
str.padStart(targetLength [, padString])
str.padEnd(targetLength [, padString])
padStart() 和 padEnd() ⼀共接受两个参数,第⼀个参数 targetLength 是当前字符串需要填充到的⽬标长度,第⼆个参数padString 是⽤来填充的字符串,缺省值为" "。
返回值:
在原字符串开头填充指定的填充字符串直到⽬标长度所形成的新字符串。
如果 targetLength ⼩于当前字符串的长度,则字符串补全不⽣效,返回当前字符串本⾝。
'abc'.padStart(1, 'd');    // "abc"
'abc'.padEnd(1, 'd');    // "abc"
如果 targetLength ⼩于⽤来填充的字符串长度与原字符串的长度之和,则截掉超出位数的补全字符串。
'abc'.padStart(6,"123456");    // "123abc"
'abc'.padEnd(6, "123456");    // "abc123"
如果省略第⼆个参数 padString,即使⽤空格补全长度。
'abc'.padStart(10);    // "    abc"
'abc'.padEnd(10);    // "abc    "
如果 padString 长度过长,则会删除后⾯多出的字符串。
'abc'.padStart(5, "foo");    // "foabc"
'abc'.padEnd(5, "foo");    // "abcfo"
应⽤:
补全指定位数,如格式化时间或⽇期时,个位数补0
提⽰字符串格式字符串拼接
⽰例:
当我们使⽤时间戳并转换成 yyyy-mm-dd hh:mm:ss 的格式。
function dataFormat(data) {
const dt = new Date(data * 1000) //注:如果是13位时间戳不⽤*1000
const y = dt.getFullYear()
const m = (dt.getMonth() + 1 + '').padStart(2, '0')
const d = (dt.getDay() + '').padStart(2, '0')
const hh = (dt.getHours() + '').padStart(2, '0')
const mm = (dt.getMinutes() + '').padStart(2, '0')
const ss = (dt.getSeconds() + '').padStart(2, '0')
return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
}
// github/uxitten/polyfill/blob/master/string.polyfill.js
// /en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd
if (!String.prototype.padEnd) {
String.prototype.padEnd = function padEnd(targetLength,padString) {
targetLength = targetLength>>0; //floor if number or convert non-number to 0;
padString = String((typeof padString !== 'undefined' ? padString: ''));
js验证字符串长度if (this.length > targetLength) {
return String(this);
}
else {
targetLength = targetLength-this.length;
if (targetLength > padString.length) {
padString += peat(targetLength/padString.length); //append to original to ensure we are longer than needed
}
return String(this) + padString.slice(0,targetLength);
}
};
}
到此这篇关于JS字符串补全⽅法padStart()和padEnd()的⽂章就介绍到这了,更多相关JS padStart() padEnd()内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。