H5 随机身份证号码、社会统一信用代码、手机号、名字、银行卡号码

news2024/9/29 14:17:40

平时注册可能会用到这些,原本用自己服务器搭了个,感觉纯前端的还能引入到项目中挺好的,之后再追加一些常用的随机数据,这样写表单应该就会好测试了(●’◡’●)。

在线链接
https://linyisonger.github.io/H5.Examples/?name=./076.%E9%9A%8F%E6%9C%BA%E6%95%B0%E6%8D%AE.html
效果
在这里插入图片描述
主要逻辑在下面这个仓库中,这里只做了npm引用、展示、复制功能。
https://github.com/linyisonger/3r.Tool

代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="stylesheet" href="./assets/global.css" />

    <style>
      .fakery-box {
        padding: 20px;
      }
      .fakery-subtitle {
        font-size: 13px;
        color: #c45e5e;
        margin-bottom: 10px;
      }
      .fakery-title {
        font-size: 18px;
        color: #333;
      }
      .fakery-item {
        display: flex;
        padding: 5px 0;
        cursor: pointer;
      }
      .fakery-label {
        width: 120px;
        font-size: 14px;
        color: #333;
      }
      .fakery-btn {
        margin-top: 10px;
        padding: 10px 20px;
        display: inline-flex;
        color: #fff;
        background-color: #fd9651;
        cursor: pointer;
        user-select: none;
      }
      .ps {
        color: #333;
        font-size: 12px;
      }
      .fakery-value.active {
        color: #c45e5e;
      }
      .fakery-value.active::after {
        margin-left: 20px;
        content: "复制成功~";
        font-size: 12px;
      }
    </style>
  </head>

  <body>
    <div class="fakery-box">
      <div class="fakery-header">
        <div class="fakery-title">随机数据</div>
      </div>
      <div class="fakery-subtitle">点击下面想要的数据即可复制到剪贴板上面</div>
      <div class="fakery-item">
        <div class="fakery-label"></div>
        <div class="fakery-value"></div>
      </div>
      <div class="fakery-item">
        <div class="fakery-label"></div>
        <div class="fakery-value"></div>
      </div>
      <div class="fakery-item">
        <div class="fakery-label"></div>
        <div class="fakery-value"></div>
      </div>
      <div class="fakery-item">
        <div class="fakery-label"></div>
        <div class="fakery-value"></div>
      </div>
      <div class="fakery-item">
        <div class="fakery-label"></div>
        <div class="fakery-value"></div>
      </div>

      <div class="fakery-btn again">再来一组</div>
      <div class="ps">ps: 如果要在代码开发测试也可以使用@3r/tool这个包😏</div>
    </div>

    <script type="module">
      // import "https://gcore.jsdelivr.net/npm/@3r/tool@1.5.0/lib/randoms.js";
      import { Fakery } from "https://gcore.jsdelivr.net/npm/@3r/tool@1.5.1/lib/fakery.js";

      // 创建假数据组
      function createFakeryGroup() {
        return {
          name: Fakery.fullName(),
          phone: Fakery.phoneNumber(),
          idCard: Fakery.citizenIdentificationNumber(),
          backCard: Fakery.bankCardNumber(),
          usci: Fakery.usci(),
        };
      }
      // 更新卡片
      function updateCard(fakery) {
        let box = document.querySelector(".fakery-box");
        let fakeryList = box.querySelectorAll(".fakery-item");
        let fakeryKeys = Object.keys(fakery);
        let zh = {
          name: "姓名",
          phone: "手机号码",
          idCard: "身份证号码",
          backCard: "社会统一信用代码",
          usci: "工商银行卡号码",
        };
        for (let i = 0; i < fakeryList.length; i++) {
          const fakeryItem = fakeryList.item(i);
          const fakeryKey = fakeryKeys[i];
          const fakeryLabel = fakeryItem.querySelector(".fakery-label");
          const fakeryValue = fakeryItem.querySelector(".fakery-value");
          fakeryValue.onclick = copyToClipboard;
          fakeryLabel.textContent = zh[fakeryKey];
          fakeryValue.textContent = fakery[fakeryKey];
        }
      }

      /**
       * 复制到剪贴板
       */
      function copyToClipboard(e) {
        let input =
          document.querySelector(".copy-input") ||
          document.createElement("input");
        input.className = "copy-input";
        input.value = e.target.textContent;
        input.style = `position: fixed;top: -100%;`;
        document.body.append(input);
        input.select();
        document.execCommand("copy");
        e.target.classList.add("active");
        setTimeout(() => {
          e.target.classList.remove("active");
        }, 1000);
      }

      const againBtn = document.querySelector(".again");
      againBtn.onclick = () => {
        updateCard(createFakeryGroup());
      };
      againBtn.click();
    </script>
  </body>
</html>

在线预览
https://linyisonger.github.io/H5.Examples/
源码仓库
https://github.com/linyisonger/H5.Examples.git

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2176974.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为OD机试 - 箱子之字形摆放(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…

【vue3】防抖与节流

1.防抖 &#xff08;多次触发 只执行最后一次&#xff09; 作用&#xff1a; 高频率触发的事件,在指定的单位时间内&#xff0c;只响应最后一次&#xff0c;如果在指定的时间内再次触发&#xff0c;则重新计算时间防抖类似于英雄联盟回城6秒&#xff0c;如果回城中被打断&…

基于Next.js和TailwindCss的TailwindCss

最近在研究 Next.js 和 TailwindCss &#xff0c;这两天没事的时候就搞了一个 c。 目前工具部署在 Vercel &#xff0c;欢迎各位体验&#xff08;能提出意见更好嘿嘿&#xff09; 体验地址&#xff1a; https://icon.999872.xyz/ 图片预览 &#x1f447;

DRF实操学习——商城

DRF实操学习——商城 1. 商城模型的设计2. 优化商品分类表1. 序列化器和查询集的优化2. 得到指定类目的所有商品 商品表1. 视图的基础权限等配置2. 增加上传商品图片的接口3. 优选商品接口 分析&#xff1a; 商品分类表商品表商品图片表&#xff1a;一个商品有多张图片 1. 商城…

(undone) MIT6.824 Lab1

参考&#xff1a;http://nil.csail.mit.edu/6.824/2021/labs/lab-mr.html task1: 熟悉讲义&#xff0c;尤其是搞明白如何运行测试程序(完成) ------------------------------------------------ start 先看 Introduction 我们的目标&#xff1a;构建一个MapReduce系统。 细节&…

数据结构_2.2、顺序表插入删除查找

1、线性表的顺序存储表示定义&#xff1a; 线性表&#xff1a;是具有相同数据类型的n &#xff08;n≥0&#xff09;个数据元素的有限序列 顺序表&#xff1a;用顺序存储的方式实现线性表 顺序存储&#xff1a;把逻辑上相邻的元素存储在物理 位置上也相邻的存储单元中&#…

前端大模型入门:实战篇之Vue3+Antdv+transformers+本地模型实现增强搜索

本文将之前的文章&#xff0c;实现一个场景的实战应用&#xff0c;包含代码等内容。利用纯前端实现增强的列表搜索&#xff0c;抛弃字符串匹配&#xff0c;目标是使用番茄关键字可以搜索到西红柿 1 准备工作 1.1 了解llm和web开发 web端的ai开发参考 前端大模型入门&#xff…

MPI程序实例:数值积分(π值计算)

目录 一、算法介绍 二、代码实现 一、算法介绍 本程序实例通过下面的公司计算定积分的近似值&#xff1a; (1) 其中为积分区间数&#xff0c;为积分步长&#xff0c;为积分区间的中点&#xff0c;被积函数。 假设总进程数为p&#xff08;程序中的numprocs变量&#xff09;&a…

判断JDK是否包含某个class

问题描述&#xff1a;今天遇到个问题&#xff0c;把oracle替换为openjdk&#xff0c;应用启动时&#xff0c;提示noclassdeffounderror 解决办法&#xff1a;先确认下环境里的jdk里是否包含这个class&#xff0c;进入jdk安装目录的/jre/lib&#xff0c;执行命令&#xff1a;ja…

tar命令:压缩、解压的好工具

一、命令简介 用途&#xff1a; tar​ 命令用于创建归档文件&#xff08;tarball&#xff09;&#xff0c;以及从归档文件中提取文件。 标签&#xff1a; 文件管理&#xff0c;归档。 特点&#xff1a; 归档文件可以保留原始文件和目录的层次结构&#xff0c;通常使用 .tar ​…

每日OJ题_牛客_HJ108求最小公倍数_C++_Java

目录 牛客_HJ108求最小公倍数_C_Java 题目解析 C代码 Java代码 牛客_HJ108求最小公倍数_C_Java 求最小公倍数_牛客题霸_牛客网 题目解析 A 和 B 的最小公倍数 A * B / 两者的最大公约数。最大公约数&#xff1a;辗转相除法。 C代码 #include <iostream> #includ…

C语言—顺序表(含通讯录项目)

目录 一、顺序表的概念及结构 二、顺序表的分类 &#xff08;2.1&#xff09;静态顺序表 &#xff08;2.2&#xff09;动态顺序表 三、动态顺序表的实现 &#xff08;3.1&#xff09;基本结构定义 &#xff08;3.2&#xff09;初始化和销毁 &#xff08;3.2.1&#xff0…

【MWORKS专业工具箱系列教程】控制系列工具箱第四期:时域分析

本工具箱教程以控制系统模型创建、分析与设计流程为主线&#xff0c;通过大量示例介绍MWORKS控制系统工具箱的功能和具体使用。共计10篇文章&#xff0c;上一篇主要介绍了控制系统连接与化简。 同元软控&#xff1a;【MWORKS专业工具箱系列教程】控制系 列工具箱第三期&#x…

Shopline对接需要注意的问题

Shopline对接是一项复杂而细致的工作&#xff0c;为了确保对接的顺利进行&#xff0c;并保证系统的稳定性和可靠性&#xff0c;需要注意以下几个方面。 1.API文档的详细阅读 功能理解&#xff1a; 仔细阅读Shopline提供的API文档&#xff0c;全面了解每个接口的功能、参数、返…

一起发现CMake太美-01-CMake是什么CMake的前世今生

本系列课程的主要内容包括&#xff1a; 点击本课程的 链接 可以进入视频课程的学习。 下面介绍本系列课程的第一课的主要内容&#xff0c;本节课从CMake是什么&#xff0c;能做什么&#xff0c;以及CMake的远亲近邻入手&#xff0c;让大家对CMake有一个大致的了解。 随后&am…

SpringBoot+MyBatisPlus实现多数据源动态切换

场景&#xff1a; 假设有一个项目&#xff0c;产品数据存放在new数据库中&#xff0c;公告信息存放在mini数据库中&#xff0c;我们要怎么去查询两个数据库中不同的数据呢&#xff1f; 这个时候我们就要用到mybatisplus提供的多数据源&#xff0c;仅需要如下配置即可实现相关…

【C语言从不挂科到高绩点】24-C语言中的枚举【重点知识】

Hello!彦祖们,俺又回来了!!!,继续给大家分享 《C语言从不挂科到高绩点》课程!! 本节将为大家讲解C语言中非常重要的知识点-枚举: 本套课程将会从0基础讲解C语言核心技术,适合人群: 大学中开设了C语言课程的同学想要专升本或者考研的同学想要考计算机等级证书的同学想…

Anzo Capital昂首资本官网:掌握止损单的艺术,优化交易策略

通过在Anzo Capital昂首资本官网的深入研究&#xff0c;投资者发现宝贵的交易策略&#xff0c;尤其是在市场不活跃的时期&#xff0c;止损单的触发时机往往相当微妙。很多时候&#xff0c;主力的动作似乎开始得更晚&#xff0c;这种情况在交易市场中并不罕见。尽管没有人能够确…

【数据库文档】数据库设计说明书(Word原件参考)

一、 总述 &#xff08;一&#xff09; 编写目的 二、 外部设计 &#xff08;一&#xff09; 环境说明 &#xff08;二&#xff09; 指导 三、 物理实现 &#xff08;一&#xff09; 物理结构 &#xff08;二&#xff09; 安全设计 四、 表设计结构 &#xff08;一&#xff09;…

AutoGen实现多代理—AI Agentic Design Patterns with AutoGen(二)

1. AutoGen顺序对话在客户入职案例上的应用 如图&#xff0c;客户入职前会经历三个阶段&#xff0c;一个代理收集客户的信息&#xff0c;一个代理收集客户的感兴趣话题&#xff0c;一个代理根据前两个代理的基础信息与客户代理对话&#xff0c;产生聊天信息。 本节实验的地址&…