padStart 与 padEnd

144 阅读1分钟

参考:

www.cnblogs.com/ghc520/p/11…

[mdn]developer.mozilla.org/zh-CN/docs/…

语法:

String.prototype.padStart() ES6字符串新方法:填充字符串 String.prototype.padStart(maxLength,fillString) String.prototype.padEnd(maxLength,fillString)

例子:

image.png

image.png

image.png image.png

应用场景

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

image.png

月份 天 时分秒都有可能是个位数 就需要补充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>