使用mockjs生成随机手机号码

使用mockjs

const Mock = require(mockjs)
// 拓展mockjs
Mock.Random.extend({
          
   
  phone: function () {
          
   
    var phonePrefixs = [132, 135, 189] // 自己写前缀哈
    return this.pick(phonePrefixs) + Mock.mock(/d{8}/) //Number()
  }
})
console.log(Mock.Random.phone())
// 生成 1 - 10 个 随机手机号码
let {
          
    phone } = Mock.mock({
          
   
  phone|1-10: [@phone]
})
console.log(phone)
// [ 13521629423, 13527482540, 18979012768 ]

// 或者使用其他方式等等
const phonePrefix = [132, 135, 189]
const index = Math.floor(Math.random() * phonePrefix.length)
var phone = phonePrefix[index] + Mock.mock(/d{8}/)
console.log(phone)

使用自定义函数

function Mock() {
          
   }

Mock.mobile_prefix = [
  132,
  135,
  136
]

Mock.numeric = 0123456789

Mock.random = function (len, list) {
          
   
  if (len <= 1) {
          
   
    len = 1
  }
  var s = 
  var n = list.length
  if (typeof list === string) {
          
   
    while (len-- > 0) {
          
   
      s += list.charAt(Math.random() * n)
    }
  } else if (list instanceof Array) {
          
   
    while (len-- > 0) {
          
   
      s += list[Math.floor(Math.random() * n)]
    }
  }
  return s
}

Mock.getMobile = function () {
          
   
  return Mock.random(1, Mock.mobile_prefix) + Mock.random(8, Mock.numeric)
}

console.log(Mock.getMobile())
经验分享 程序员 微信小程序 职场和发展