参考:
[mdn]developer.mozilla.org/zh-CN/docs/…
语法:
String.prototype.padStart() ES6字符串新方法:填充字符串 String.prototype.padStart(maxLength,fillString) String.prototype.padEnd(maxLength,fillString)
例子:
应用场景
1. JS实现对11位手机号码中间4位数的隐藏
let phoneNum = 13627080302 // 11 位 3 4 4
let way2 =
phoneNum.toString().slice(0, 3).padEnd(7, '*') +
phoneNum.toString().slice(-4)
console.log(way2) // '136****0302'
let way21 =
phoneNum.toString().slice(0, 3) +
phoneNum.toString().slice(-4).padStart(7, '*')
console.log(way21) // '136****0302'
2.时钟字符串分钟数前加0
月份 天 时分秒都有可能是个位数 就需要补充0
<!--
* @Description:
* @Author: lumingqing
* @Date: 2023-04-14 10:49:54
* @LastEditTime: 2023-04-14 11:10:01
* @LastEditors: lmq
-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script>
var dt = new Date()
console.log(dt) //Fri Apr 14 2023 10:51:23 GMT+0800 (中国标准时间)
function dateFormat(data) {
var dt = new Date(data)
var y = dt.getFullYear()
var m = dt.getMonth() + 1
var d = dt.getDate()
var hh = dt.getHours()
var mm = dt.getMinutes()
var ss = dt.getSeconds()
return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
}
console.log(dt.getMonth()) // 3 现在已经是4月份了 发现月份值域是“0-11”而不是“1-12”
console.log(dateFormat(dt)) //2023-4-14 10:55:30
function dateFormat1(data) {
var dt = new Date(data)
var y = dt.getFullYear()
var m = (dt.getMonth() + 1).toString().padStart(2, '0') //为两位数 不加0 一位数就补0
var d = dt.getDate().toString().padStart(2, '0')
var hh = dt.getHours().toString().padStart(2, '0')
var mm = dt.getMinutes().toString().padStart(2, '0')
var ss = dt.getSeconds().toString().padStart(2, '0')
return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
}
console.log(dateFormat1(dt)) //2023-04-14 11:10:46
</script>
</body>
</html>