当前位置: 移动技术网 > IT编程>网页制作>HTML > 随机生成姓名 + ID number+bank number

随机生成姓名 + ID number+bank number

2020年07月12日  | 移动技术网IT编程  | 我要评论

 

在工作中开发和测试需要用到随机身份证号,银行卡号信息

以下代码复制保存到html页面,然后运行html至浏览器就可以生成随机身份数据,

提示仅用于测试开发功能,禁止用于违规的用途

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>idcard</title>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <style>
      body {
        padding-left: 10px;
      }
      a {
        text-decoration: none;
        color: black;
      }
      .aa:hover {
        text-decoration: underline;
        color: #990000;
      }
      #panel {
        font-size: 18px;
        font-family: 微软雅黑;
        /*    padding:10px; */
      }
      #getButton {
        margin-bottom: 20px;
        width: 100px;
        height: 50px;
        margin: 50px 0;
        cursor: pointer;
      }
      .des {
        margin: 50px 0;
        width: 720px;
      }
      .pointer {
        cursor: pointer;
        padding: 0 30px;
      }
      .ml188 {
        margin: 20px 0px;
        margin-left: 80px;
      }
    </style>
  </head>
  <body>
    <button id="getButton" onclick="getGenerate()">获取身份证号</button>
    <div id="panel"></div>
    <div class="des">
      <br />
      免责声明:身份证号大全和姓名由程序随机组合而成,<span>所有信息均为虚构生成,不会泄密真实公民隐私信息</span>,也非现实生活中真实的身份证号码和真实姓名;身份证号码所属年龄均为18岁以上,均已通过校验;身份证号码和姓名仅供测试或用在必须输入身份证号码和姓名的网站上,请不要将身份证号码和姓名用于任何非法用途,且自行承担使用本工具的任何后果和责任。
    </div>
    <script src="https://cdn.jsdelivr.net/npm/clipboard@2/dist/clipboard.min.js"></script>
    <script type="text/javascript">
      //生成身份证号码
      // /地区编码
      let city = new Array(
        '110113',
        '120223',
        '130403',
        '130425',
        '130433',
        '130731',
        '131000',
        '131023',
        '131024',
        '131081',
        '140106',
        '140222',
        '140226',
        '140227',
        '140524',
        '140600',
        '140828',
        '140922',
        '140981',
        '141129',
        '141130',
        '150426',
        '150525',
        '150727',
        '152525',
        '210201',
        '210300',
        '210801',
        '211101',
        '220103',
        '220182',
        '220203',
        '220323',
        '220500',
        '220821',
        '222400',
        '230108',
        '230307',
        '230703',
        '230710',
        '230833',
        '231003',
        '231222',
        '231223',
        '231281',
        '232721',
        '232722',
        '320201',
        '320302',
        '320503',
        '320584',
        '320724',
        '320831',
        '320902',
        '320982',
        '321003',
        '321081',
        '321181',
        '321201',
        '330000',
        '330108',
        '330122',
        '330183',
        '330205',
        '330225',
        '330411',
        '330600',
        '330723',
        '340103',
        '340207',
        '340301',
        '340603',
        '340802',
        '341221',
        '341421',
        '341521',
        '341822',
        '350206',
        '350427',
        '350526',
        '350721',
        '360421',
        '360425',
        '360428',
        '370105',
        '370611',
        '370685',
        '370687',
        '370883',
        '370900',
        '370921',
        '371311',
        '371422',
        '371424',
        '410302',
        '410782',
        '411081',
        '411421',
        '420607',
        '420800',
        '420900',
        '430102',
        '430122',
        '430225',
        '430301',
        '430401',
        '430511',
        '430624',
        '430922',
        '431027',
        '431127',
        '431201',
        '440306',
        '440703',
        '440923',
        '441400',
        '441821',
        '441827',
        '441882',
        '445321',
        '450100',
        '450224',
        '450521',
        '450701',
        '450923',
        '450981',
        '451022',
        '451029',
        '451421',
        '451424',
        '460200',
        '500232',
        '500237',
        '510106',
        '510112',
        '510183',
        '510503',
        '510601',
        '510683',
        '510903',
        '511524',
        '511602',
        '511823',
        '513224',
        '513229',
        '513328',
        '520300',
        '520326',
        '522422',
        '522633',
        '522700',
        '530103',
        '530501',
        '530702',
        '532600',
        '532622',
        '533324',
        '542100',
        '542125',
        '542227',
        '542322',
        '542331',
        '542421',
        '542424',
        '542525',
        '542626',
        '610301',
        '610429',
        '610528',
        '610702',
        '610901',
        '610926',
        '620524',
        '620901',
        '621124',
        '621201',
        '621226',
        '623026',
        '632126',
        '632523',
        '632821',
        '652300',
        '652901',
        '653000',
        '653022',
        '653121',
        '653123',
        '653128',
        '653200',
        '654021'
      )

      let pow = new Array(
        '7',
        '9',
        '10',
        '5',
        '8',
        '4',
        '2',
        '1',
        '6',
        '3',
        '7',
        '9',
        '10',
        '5',
        '8',
        '4',
        '2'
      )
      let ex = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2')

      // /年月日
      function getYMD() {
        let ymd = ''
        let y = parseInt(Math.random() * 99)
        if (y < 10) y = '0' + y
        y = '19' + y
        let m = parseInt(Math.random() * 13)
        if (m < 10) m = '0' + m
        if (m == '00') m = '01'
        let d = parseInt(Math.random() * 28)
        if (d < 10) d = '0' + d
        if (d == '00') d = '01'
        ymd = '' + y + m + d
        return ymd
      }

      //生成号码
      function makeId() {
        let idcard
        idcard =
          city[parseInt(Math.random() * 189)] +
          getYMD() +
          parseInt(Math.random() * 9) + //
          parseInt(Math.random() * 9) + //
          parseInt(Math.random() * 9) + //
          parseInt(Math.random() * 9) //

        return idcard
      }

      // 生成随机姓名
      function getName() {
        let familyNames =
          '赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮卞齐康伍余元卜顾孟平黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董梁杜阮蓝闵席季麻强贾路娄危江童颜郭梅盛林刁钟徐邱骆高夏蔡田樊胡凌霍虞万支柯昝管卢莫经房裘缪干解应宗丁宣贲邓郁单杭洪包诸左石崔吉钮龚程嵇邢滑裴陆荣翁荀羊於惠甄曲家封芮羿储靳汲邴糜松井段富巫乌焦巴弓牧隗山谷车侯宓蓬全郗班仰秋仲伊宫宁仇栾暴甘钭厉戎祖武符刘景詹束龙叶幸司韶郜黎蓟薄印宿白怀蒲邰从鄂索咸籍赖卓蔺屠蒙池乔阴鬱胥能苍双闻莘党翟谭贡劳逄姬申扶堵冉宰郦雍卻璩桑桂濮牛寿通边扈燕冀郏浦尚农温别庄晏柴瞿阎充慕连茹习宦艾鱼容向古易慎戈廖庾终暨居衡步都耿满弘匡国文寇广禄阙东欧殳沃利蔚越夔隆师巩厍聂晁勾敖融冷訾辛阚那简饶空曾毋沙乜养鞠须丰巢关蒯相查后荆红游竺权逯盖益桓公万俟司马上官欧阳夏侯诸葛闻人东方赫连皇甫尉迟公羊澹台公冶宗政濮阳淳于单于太叔申屠公孙仲孙轩辕令狐钟离宇文长孙慕容鲜于闾丘司徒司空丌官司寇仉督子车颛孙端木巫马公西漆雕乐正壤驷公良拓跋夹谷宰父谷梁晋楚闫法汝鄢涂钦段干百里东郭南门呼延归海羊舌微生岳帅缑亢况郈有琴梁丘左丘东门西门商牟佘佴伯赏南宫墨哈谯笪年爱阳佟'
        let givenNames =
          '子璇淼国栋夫子瑞堂甜敏尚国贤贺祥晨涛昊轩易轩辰益帆冉瑾春瑾昆春齐杨文昊东雄霖浩晨熙涵溶溶冰枫欣宜豪欣慧建政美欣淑慧文轩杰欣源忠林榕润欣汝慧嘉新建建林亦菲林冰洁佳欣涵涵禹辰淳美泽惠伟洋涵越润丽翔淑华晶莹凌晶苒溪雨涵嘉怡佳毅子辰佳琪紫轩瑞辰昕蕊萌明远欣宜泽远欣怡佳怡佳惠晨茜晨璐运昊汝鑫淑君晶滢润莎榕汕佳钰佳玉晓庆一鸣语晨添池添昊雨泽雅晗雅涵清妍诗悦嘉乐晨涵天赫玥傲佳昊天昊萌萌若萌测试身份证号大全和名由程序随机组合而成所有信息均为虚构生成不会泄密真实公民隐私信息也非现实生活中真实的身份证号码和真实名身份证号码所属年龄均为岁以上均已通过校验身份证号码和名仅供测试或用在必须输入身份证号码和名的网站上请不要将身份证号码和名用于任何非法用途且自行承担使用本工具的任何后果和责任'

        let i = parseInt(familyNames.length * Math.random())
        let familyName = familyNames.substr(i, 1)
        let len = givenNames.length
        let j = parseInt(len * Math.random())
        let k = parseInt(len * Math.random())
        let givenName = givenNames.substr(j, 1) + givenNames.substr(k, 1)
        let name = familyName + givenName
        return name
      }

      //生成随机银行卡号
      function getBankAccount() {
        // let bank_no = document.getElementById("bank_no_select").value;
        let bank_no = '0102'
        let prefix = ''
        switch (bank_no) {
          case '0102':
            prefix = '622202'
            break
          case '0103':
            prefix = '622848'
            break
          case '0105':
            prefix = '622700'
            break
          case '0301':
            prefix = '622262'
            break
          case '104':
            prefix = '621661'
            break
          case '0303':
            prefix = '622666'
            break
          case '305':
            prefix = '622622'
            break
          case '0306':
            prefix = '622556'
            break
          case '0308':
            prefix = '622588'
            break
          case '0410':
            prefix = '622155'
            break
          case '302':
            prefix = '622689'
            break
          case '304':
            prefix = '622630'
            break
          case '309':
            prefix = '622908'
            break
          case '310':
            prefix = '621717'
            break
          case '315':
            prefix = '622323'
            break
          case '316':
            prefix = '622309'
            break
          default:
        }

        for (let j = 0; j < 13; j++) {
          prefix = prefix + Math.floor(Math.random() * 10)
        }

        return prefix
      }

      //点击复制  只支持ie
      function doCopy(text) {
        let str = text + ''
        console.log('str :>> ', text)
        if (window.clipboardData) {
          window.clipboardData.clearData()
          window.clipboardData.setData('Text', str)
        }
        return true
      }
      // /
      function getGenerate() {
        let str =
          '姓名<span class="ml188" >身份证号码</span> <span class="ml188">银行卡号</span><br/><br/>'
        for (let i = 0; i < 50; i++) {
          const Name = getName()
          const CardId = makeId()
          const account = getBankAccount()
          str += Name + '\t' + CardId + '\t' + account + '<br/><br/>'
        }
        document.getElementById('panel').innerHTML = str
      }
    </script>
  </body>
</html>

 

本文地址:https://blog.csdn.net/qq_37939251/article/details/89844358

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网