小程序uni-app

js生成唯一文件名

2020-07-03  本文已影响0人  前端勾魂师

1.核心代码

// 方法一
/**
 * 生成唯一文件名
 * @param {Number} len 生成的文件名长度
 * @param {Number} radix 指定基数
 */
function getuuid(len, radix) {
  var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('')
  var uuid = []
  var i = 0
  radix = radix || chars.length

  if (len) {
    for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix]
  } else {
    var r

    uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-'
    uuid[14] = '4'

    for (i = 0; i < 36; i++) {
      if (!uuid[i]) {
        r = 0 | Math.random() * 16
        uuid[i] = chars[(i === 19) ? (r & 0x3) | 0x8 : r]
      }
    }
  }

  return uuid.join('')
}

// 方法二
/**
 * 生成唯一文件名 时间戳 + 随机数
 * @param {Number} len 生成的文件名长度
 * @param {Number} radix 指定基数
 */
function getTimeId(len, radix) {
  if (len) {
    const time = new Date().getTime()
    const uuid = getuuid(len, radix)
    return `${time}${uuid}`
  } else {
    console.log('请输入长度')
  }
}

2.测试代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>js生成唯一文件名</title>
        <script type="text/javascript">
            /**
             * 生成唯一文件名
             * @param {Number} len 生成的文件名长度
             * @param {Number} radix 指定基数
             */
            function getuuid(len, radix) {
                var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('')
                var uuid = []
                var i = 0
                radix = radix || chars.length

                if (len) {
                    for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix]
                } else {
                    var r
                    uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-'
                    uuid[14] = '4'

                    for (i = 0; i < 36; i++) {
                        if (!uuid[i]) {
                            r = 0 | Math.random() * 16
                            uuid[i] = chars[(i === 19) ? (r & 0x3) | 0x8 : r]
                        }
                    }
                }

                return uuid.join('')
            }
            /**
             * 生成唯一文件名 时间戳 + 随机数
             * @param {Number} len 生成的文件名长度
             * @param {Number} radix 指定基数
             */
            function getTimeId(len, radix) {
              if (len) {
                const time = new Date().getTime()
                const uuid = getuuid(len, radix)
                return `${time}${uuid}`
              } else {
                console.log('请输入长度')
              }
            }
            window.onload = function() {
                var fileName1 = getuuid(8, 12)
                var fileName2 = getTimeId(8, 12)
                console.log(fileName1, 'fileName1', fileName2, 'fileName2')
            }
        </script>
    </head>
    <body>
    </body>
</html>
  1. 效果展示


    生成唯一文件名.png
上一篇下一篇

猜你喜欢

热点阅读