QQ号码价值评估系统html代码-丢塔网
由于前面刷视频经常刷到有人直播QQ号码价值评估,想着也搞一个玩玩,找了一圈接口好像很多都用不来,下面提供一个自己随便搞得页面,有兴趣的大佬可以完善下
`
QQ号码价值评估系统-在线工具-丢塔网(www.diuta.com)
body { font-family: "Microsoft YaHei", sans-serif; background: linear-gradient(135deg, rgba(245, 247, 250, 1) 0, rgba(195, 207, 226, 1) 100%); min-height: 100vh; margin: 0; padding: 20px }
.container { max-width: 800px; margin: 0 auto; background: rgba(255, 255, 255, 1); border-radius: 15px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); padding: 30px; position: relative; overflow: hidden }
h1 { color: rgba(18, 183, 245, 1); text-align: center; margin-bottom: 30px; position: relative }
h1:after { content: ""; display: block; width: 100px; height: 3px; background: rgba(18, 183, 245, 1); margin: 10px auto }
.search-box { display: flex; margin-bottom: 30px }
#qq-input { flex: 1; padding: 12px 15px; border: 2px solid rgba(224, 224, 224, 1); border-radius: 8px 0 0 8px; font-size: 16px; outline: none; transition: border 0.3s }
#qq-input:focus { border-color: rgba(18, 183, 245, 1) }
#search-btn { padding: 0 25px; background: linear-gradient(45deg, rgba(18, 183, 245, 1), rgba(14, 159, 216, 1)); color: rgba(255, 255, 255, 1); border: none; border-radius: 0 8px 8px 0; cursor: pointer; font-size: 16px; font-weight: bold; transition: all 0.3s }
#search-btn:hover { background: linear-gradient(45deg, rgba(14, 159, 216, 1), rgba(11, 143, 199, 1)); transform: translateY(-2px) }
.result-container { display: none; animation: 0.5s fadein }
@keyframes fadeIn { 0% { opacity: 0; transform: translateY(20px) } 100% { opacity: 1; transform: translateY(0) } }
.basic-info { display: flex; align-items: center; margin-bottom: 25px; padding-bottom: 25px; border-bottom: 1px dashed rgba(224, 224, 224, 1) }
.avatar { width: 100px; height: 100px; border-radius: 50%; margin-right: 25px; border: 3px solid rgba(18, 183, 245, 1); box-shadow: 0 5px 15px rgba(18, 183, 245, 0.3) }
.value-container { background: linear-gradient(135deg, rgba(248, 249, 250, 1) 0, rgba(233, 236, 239, 1) 100%); border-radius: 10px; padding: 20px; margin: 20px 0; box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.05) }
.value-text { text-align: center; font-size: 28px; font-weight: bold; margin-bottom: 15px; color: rgba(51, 51, 51, 1) }
.value-amount { font-size: 36px; color: rgba(255, 87, 34, 1); text-shadow: 0 2px 5px rgba(255, 87, 34, 0.2) }
.value-indicator { height: 20px; background: rgba(224, 224, 224, 1); border-radius: 10px; margin: 15px 0; overflow: hidden; position: relative }
.value-bar { height: 100%; background: linear-gradient(90deg, rgba(255, 149, 0, 1), rgba(255, 45, 85, 1)); width: 0; transition: width 1s cubic-bezier(0.68, -0.55, 0.27, 1.55); position: relative }
.value-bar:after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 10px; background: rgba(255, 255, 255, 0.5); transform: skewX(-15deg) }
.detail-container { margin-top: 30px }
.detail-title { font-size: 18px; color: rgba(18, 183, 245, 1); margin-bottom: 15px; padding-bottom: 5px; border-bottom: 1px solid rgba(224, 224, 224, 1) }
.detail-item { display: flex; justify-content: space-between; align-items: center; padding: 12px 15px; margin-bottom: 10px; background: rgba(248, 249, 250, 1); border-radius: 8px; transition: all 0.3s }
.detail-item:hover { background: rgba(233, 236, 239, 1); transform: translateX(5px) }
.detail-label { font-weight: bold; color: rgba(85, 85, 85, 1) }
.detail-score { font-weight: bold; color: rgba(255, 87, 34, 1) }
.loading { text-align: center; display: none; margin: 20px 0 }
.loading-spinner { display: inline-block; width: 40px; height: 40px; border-top: 4px solid rgba(18, 183, 245, 1); border-right: 4px solid rgba(18, 183, 245, 0.2); border-bottom: 4px solid rgba(18, 183, 245, 0.2); border-left: 4px solid rgba(18, 183, 245, 0.2); border-radius: 50%; animation: 1s linear infinite spin }
@keyframes spin { 100% { transform: rotate(360deg) } }
.error { color: rgba(255, 87, 34, 1); text-align: center; padding: 15px; background: rgba(255, 243, 243, 1); border-radius: 8px; margin: 20px 0; display: none }
.special-tag { display: inline-block; padding: 3px 8px; background: rgba(255, 87, 34, 1); color: rgba(255, 255, 255, 1); border-radius: 4px; font-size: 12px; margin-left: 10px; vertical-align: middle }
QQ号码价值评估系统
立即评估
正在评估中,请稍候...
QQ号码:
QQ邮箱:
详细评估指标
0分
0分
0分
0分
0分
<script>
document.getElementById('search-btn').addEventListener('click', function() {
const qqNumber = document.getElementById('qq-input').value.trim();
if (!qqNumber || !/^[1-9]\d{4,10}$/.test(qqNumber)) {
showError('请输入5-11位的有效QQ号码');
return;
}
document.getElementById('loading').style.display = 'block';
document.getElementById('error').style.display = 'none';
document.getElementById('result-container').style.display = 'none';
// 模拟API请求延迟
setTimeout(() => {
try {
const result = evaluateQQValue(qqNumber);
displayResult(qqNumber, result);
} catch (error) {
showError('评估过程中出现错误');
} finally {
document.getElementById('loading').style.display = 'none';
}
}, 800);
});
function displayResult(qq, data) {
document.getElementById('avatar').src = `https://q2.qlogo.cn/headimg_dl?dst_uin=${qq}&spec=640`;
document.getElementById('qq-nickname').textContent = `QQ用户`;
document.getElementById('qq-number').textContent = qq;
document.getElementById('qq-email').textContent = `${qq}@qq.com`;
// 更新评估分数
document.getElementById('length-score').textContent = `${data.lengthScore}分`;
document.getElementById('repeat-score').textContent = `${data.repeatScore}分`;
document.getElementById('straight-score').textContent = `${data.straightScore}分`;
document.getElementById('sequence-score').textContent = `${data.sequenceScore}分`;
document.getElementById('special-score').textContent = `${data.specialScore}分`;
document.getElementById('value-score').textContent = data.totalValue;
// 动画效果
setTimeout(() => {
document.getElementById('value-bar').style.width = `${Math.min(100, data.totalValue / 50000 * 100)}%`;
}, 100);
document.getElementById('result-container').style.display = 'block';
}
function evaluateQQValue(qq) {
const length = qq.length;
// 1. 号码长度估值(5-11位)
const lengthValue = (12 - length) * 5000; // 越短价值越高
const lengthScore = Math.round(lengthValue / 500);
// 2. 重复数字估值
let repeatValue = 0;
const counts = {};
qq.split('').forEach(num => {
counts[num] = (counts[num] || 0) + 1;
});
Object.values(counts).forEach(cnt => {
if(cnt >= 2) {
repeatValue += Math.pow(10, cnt) * 100; // 重复次数越多价值越高
}
});
const repeatScore = Math.round(repeatValue / 1000);
// 3. 豹子号估值(3+连续相同数字)
let straightValue = 0;
const straightMatches = qq.match(/(\d)\1{2,}/g) || [];
straightMatches.forEach(match => {
straightValue += Math.pow(10, match.length) * 200;
});
const straightScore = Math.round(straightValue / 1000);
// 4. 顺子号估值(连续递增/递减)
let sequenceValue = 0;
if(/(123|234|345|456|567|678|789|987|876|765|654|543|432|321)/.test(qq)) {
sequenceValue = 5000;
}
const sequenceScore = Math.round(sequenceValue / 100);
// 5. 特殊组合估值
let specialValue = 0;
if(/^[1-9]0+$/.test(qq)) { // 结尾多个0
specialValue = 3000 * (qq.match(/0/g) || []).length;
}
const specialScore = Math.round(specialValue / 100);
const totalValue = lengthValue + repeatValue + straightValue + sequenceValue + specialValue;
return {
lengthScore,
repeatScore,
straightScore,
sequenceScore,
specialScore,
totalValue
};
}
function showError(message) {
const errorEl = document.getElementById('error');
errorEl.textContent = message;
errorEl.style.display = 'block';
}
</script>
`提供一个演示地址:https://diuta.com/api/qq_value.html
QQ号码价值评估系统html代码-丢塔网的更多相关文章
- 在线获取访客QQ号码的原理及实现方法
原文地址:http://www.piaoyi.org/network/get-qq-haoma-js.html 正 文: 最近,飘易收到不少在线获取网站访客QQ号码的促销推广邮件,有不少商用网站挖掘了 ...
- js正则表达式:验证邮箱格式、密码复杂度、手机号码、QQ号码
直接上代码 Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ...
- 美女程序员是如何将QQ转换成题目中那串数字的--读博文《找女神要QQ号码》
我只能说好好的端午节你们不约么?,还在这里写代码?我也是够无聊的,下班了不走也在这跟风写着玩!<找女生要QQ号码原文>原文链接http://www.cnblogs.com/iforever ...
- QQ,MSN,Skype在线客服代码
QQ,MSN,Skype在线客服代码 在网站建设时,为了更好的实施网站的营销型,会用到QQ,MSN等在线交流,以便客户能够快捷方便的联系我们.在这里,提供QQ,MSN的在线客服代码给大家分享: 1.Q ...
- JS获得QQ号码的昵称,头像,生日
这篇文章主要介绍了JS获得QQ号码的昵称,头像,生日的简单实例,有需要的朋友可以参考一下 http://r.qzone.qq.com/cgi-bin/user/cgi_personal_card?ui ...
- 利用libpcap抓取QQ号码信息
最近想在QQ登录时把QQ号码信息记录下来,百度了很多都没有找到具体方式,最近用Wireshark分析报文+libpcap库嗅探实现了这个小功能. 通讯背景: QQ客户端在通讯时使用UDP协议,其中数据 ...
- openvas开放式漏洞评估系统
OpenVAS是开放式漏洞评估系统,也可以说它是一个包含着相关工具的网络扫描器.其核心部件是一个服务器,包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题. 用户需要一种自动测试的方法, ...
- 【NumberValidators】工商营业执照号码和统一社会信用代码验证
从本质上讲,工商营业执照号码和统一社会信用代码是两套完全不一样的编码规则,识别结果也仅有行政区划部分为两者共有,但因为这两种编码同时存在的原因,所以如果需要在系统中唯一标志一家企业时,还是可以通过工商 ...
- 用JS获得QQ号码的昵称,头像,生日
有一个网址,可以返回我们要的内容. http://r.qzone.qq.com/cgi-bin/user/cgi_personal_card?uin=指定QQ号码 将会返回下列内容: _Callbac ...
- PHP获取QQ群成员QQ号码
.加入某个群 .进入群空间http://qun.qzone.qq.com/group#!/25998059/member 备注:25998059为群号码 .进入群成员列表 .使用浏览,在某个群成员头像 ...
随机推荐
- Condition类的signal()方法底层原理
一.Condition类的signal()方法底层原理 Condition 接口的 signal 方法是用于唤醒一个在 Condition 上等待的线程.与 Object 的 notify 方法类似, ...
- spring的控制反转(IoC)
ioc的作用: 削减计算机程序的耦合(解除我们代码中的依赖关系 解耦的思路: 第一步:使用反射来创建对象,而避免使用new关键字. 第二步:通过读取配置文件来获取要创建的对象全限定类名
- java基础之线程池
一.线程池:提前创建多个线程存放到集合容器中,其中的线程可以反复使用,减少资源的开销 作用就是:线程执行完一个任务,并不被销毁,而是可以继续执行其他的任务 使用线程池中线程对象的步骤: 1. 创建线程 ...
- 遍历表单数据,检查其中任意一项的方法(Get Matching Xpath Count指令的用法)
如上图,每次新增数据均显示在最上面,且这个表格没有自定义查询的功能. 这给校验添加数据是否成功增加了难度(常规方式是检查第一行数据) 本次案例的逻辑是 使用Get Matching Xpath Cou ...
- 从excle中读取数据的方法
倒入两个库:ExcelLibrary,Collections 首先,必须注意文件格式为xls 表格内容 open_Excel C:\\Users\\Beckham\\Desktop\\a.xls ...
- DPDI(Dispatch PDI)kettle调度管理平台发布新版本了
Dispatch PDI最新版本发布! 我们很高兴地宣布,Dispatch PDI的全新轻量级版本现已在官网上线!这款专为高效ETL任务调度和监控设计的平台,将为您的数据处理带来前所未有的便捷. 立即 ...
- EFCore多数据库合并查询分页
EFCore多数据库合并查询分页 参照:二个表的数据 如何做分页?_两个表排序分页_深圳市热心市民市民的博客-CSDN博客 基本情况介绍:由于系统迭代,部分收藏表在老系统的数据库,部分在新api接口的 ...
- 【经验】WakeUp、Outlook、Google日历导入飞书日历
以飞书团队账号登录时,设置的日历就能被团队其他成员看到(可选择私密.仅忙碌[默认].完全公开三种模式),以便相互查看空闲时间. Wakeup日历导出到Outlook日历 Wakeup支持从各大学校便利 ...
- 使用Electron构建跨平台的抓取桌面程序
谈起桌面应用开发技术, 我们会想到.Net下的WinForm, Java下的JavaFX以及Linux下的QT. 这些技术对于Web应用程序员来说一般比较陌生, 因为大多Web应用程序员的开发技能是前 ...
- C#开发的Panel滚动分页控件 - 开源研究系列文章
前些时候因为想拥有一个自己的软件快捷打开软件,于是参考Windows 11的开始菜单,进行了编写这个应用软件,里面有一个功能就是对显示的Panel里的应用对象的分页功能,于是就想写一个对Panel的自 ...