js 获取n位随机数

一、n位Number类型的随机数
 

function randomn(n) {
  if (n > 21) return null
  return parseInt((Math.random() + 1) * Math.pow(10,n-1))
}

二、n位String类型的数字随机数

// RegExp(pattern, attributes)attributes-gim(全局匹配、区分大小写的匹配、多行匹配)
function randomn(n) {
  if (n > 21) return null
  var re =new RegExp("(\\d{" + n + "})(\\.|$)")
  var num = (Array(n-1).join(0) + Math.pow(10,n) * Math.random()).match(re)[1]
  return num
  // Array(n > num ? (n - ('' + num).length +1) : 0).join(0) + num 补位
}

三、n位字母数字随机数

function randomn(n) {
  let res = ''
  for (; res.length < n; res += Math.random().toString(36).substr(2).toUpperCase()) {}
  return res.substr(0, n)
}