开始

QQ 开放了新的 8 位靓号注册(戳我前往),PC、手机端都有开放注册,手机端还能一键买断。姑且看了一下 PC 端的,差不多有 300 个吧。那么问题来了,怎么挑出其中不带 4 的号码呢?

如何注册不带 4 的 8 位 QQ 号 图示1

很简单,请看代码:

;(async (...without) => {
  let list = []
  for (const n of Array.from({ length: 10 }, (v, i) => 1 + i)) {
    await window
      .fetch(`http://haoma.qq.com/json/act${n}.json.js`)
      .then(r => r.text())
      .then(r => JSON.parse(r.slice(16, -1)))
      .then(r => r[2].map(v => list.push(v.num)))
  }
  list = [...new Set(list.sort())]
  without = [...new Set(without)]
  console.clear()
  console.log('%c已找到的所有 8 位 QQ 号为:', 'font-weight: bold; color: red')
  console.log(list.join(', ') || '暂无')
  if (without.length) {
    list = list.filter(v => !new RegExp(`(${without.join('|')})`).test(v))
    console.log(
      '%c其中不带 %s 的 QQ 号为:',
      'font-weight: bold; color: red',
      without.join('、')
    )
    console.log(list.join(', ') || '暂无')
  }
})(4) // 4 为要排除的数字,多个用 , 隔开

这里有朋友要问了,怎么使用啊?助人为乐宅心仁厚的麦葱告诉你,只要 3 步:

第一步、打开 https://haoma.qq.com
第二步、Windows 右键点击审查元素,Mac 右键点击检查
第三步、点击 console,粘贴上面的代码

结束

这时候你会在控制台 (console) 看到类似这种提示:

如何注册不带 4 的 8 位 QQ 号 图示2

针对你心仪的号码,你可以通过这个链接去注册:https://haoma.qq.com/pay_v2.html?num=QQ&type=10061&month=12&price=0&actid=30003&viptype=1&trackid=50001

记得把其中 num=QQ 改成要注册的 QQ 号。

经过

认真审题的朋友可能会发现,这篇文章怎么没有 经过 这个大标题?你猜对了,接下来我要说的就是经过。

我们仔细看上面的代码,这是一个 立即执行函数表达式 (IIFE),俗称 自执行匿名函数

这里我用到了 ES6 的一些语法,比如 async、await、Set 和三点解构赋值。异步请求用的 fetch,还有什么 for...of、Array.from、Array.filter 这些循环遍历。

所以啊,说到底就是要多看书才明白这些是什么意思。

你要问我为什么不都解释一下?哎呀,我想起来还有一堆代码没写。。。

带符号 * 的表示必填项
  1. gledos
    gledos

    qq靓号......身份的象征?不带4?这个真的没什么意义......

    回复
  2. Mr.Li
    Mr.Li

    现在卖的这些8位也叫靓号了,貌似还没有某宝卖家手里的号子靓。

    回复