开发测试的时候,经常需要填写姓名、手机号、身份证号、银行卡号,既要符合格式要求、又不能重复。大家会到网上搜各种生成器。能不能自己写一个简单的生成器呢。下面是随机生成姓名、手机号、身份证号、银行卡号的js代码。

     // 生成随机姓名
     function getName(){
         var familyNames = new Array(
                 "赵",    "钱",    "孙",    "李",    "周",    "吴",    "郑",    "王",    "冯",    "陈",
                 "褚",    "卫",    "蒋",    "沈",    "韩",    "杨",    "朱",    "秦",    "尤",    "许",
                 "何",    "吕",    "施",    "张",    "孔",    "曹",    "严",    "华",    "金",    "魏",
                 "陶",    "姜",    "戚",    "谢",    "邹",    "喻",    "柏",    "水",    "窦",    "章",
                 "云",    "苏",    "潘",    "葛",    "奚",    "范",    "彭",    "郎",    "鲁",    "韦",
                 "昌",    "马",    "苗",    "凤",    "花",    "方",    "俞",    "任",    "袁",    "柳",
                 "酆",    "鲍",    "史",    "唐",    "费",    "廉",    "岑",    "薛",    "雷",    "贺",
                 "倪",    "汤",    "滕",    "殷",    "罗",    "毕",    "郝",    "邬",    "安",    "常",
                 "乐",    "于",    "时",    "傅",    "皮",    "卞",    "齐",    "康",    "伍",    "余",
                 "元",    "卜",    "顾",    "孟",    "平",    "黄",    "和",    "穆",    "萧",    "尹"
                 );
         var givenNames =  new Array(
                 "子璇", "淼", "国栋", "夫子", "瑞堂", "甜", "敏", "尚", "国贤", "贺祥", "晨涛",
                 "昊轩", "易轩", "益辰", "益帆", "益冉", "瑾春", "瑾昆", "春齐", "杨", "文昊",
                 "东东", "雄霖", "浩晨", "熙涵", "溶溶", "冰枫", "欣欣", "宜豪", "欣慧", "建政",
                 "美欣", "淑慧", "文轩", "文杰", "欣源", "忠林", "榕润", "欣汝", "慧嘉", "新建",
                 "建林", "亦菲", "林", "冰洁", "佳欣", "涵涵", "禹辰", "淳美", "泽惠", "伟洋",
                 "涵越", "润丽", "翔", "淑华", "晶莹", "凌晶", "苒溪", "雨涵", "嘉怡", "佳毅",
                 "子辰", "佳琪", "紫轩", "瑞辰", "昕蕊", "萌", "明远", "欣宜", "泽远", "欣怡",
                 "佳怡", "佳惠", "晨茜", "晨璐", "运昊", "汝鑫", "淑君", "晶滢", "润莎", "榕汕",
                 "佳钰", "佳玉", "晓庆", "一鸣", "语晨", "添池", "添昊", "雨泽", "雅晗", "雅涵",
                 "清妍", "诗悦", "嘉乐", "晨涵", "天赫", "玥傲", "佳昊", "天昊", "萌萌", "若萌"
                 );

         var i = parseInt(10 * Math.random())*10 + parseInt(10 * Math.random());
         var familyName = familyNames[i];

         var j = parseInt(10 * Math.random())*10 + parseInt(10 * Math.random());
         var givenName = givenNames[i];

         var name = familyName + givenName;
         var x = document.getElementsByName("client_name");
         for (var i = 0; i < x.length; i++) {
             var o = x[i];
             o.value = name;
         }

     }
//生成随机手机号
    function getMoble() {

        var prefixArray = new Array("130", "131", "132", "133", "135", "137", "138", "170", "187", "189");
        var i = parseInt(10 * Math.random());
        var prefix = prefixArray[i];

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

        var x = document.getElementsByName("mobile_tel");
        for (var i = 0; i < x.length; i++) {
            var o = x[i];
            o.value = prefix;
        }
    }
// 生成随机身份证号
    function getId_no(){
       var coefficientArray = [ "7","9","10","5","8","4","2","1","6","3","7","9","10","5","8","4","2"];// 加权因子
       var lastNumberArray = [ "1","0","X","9","8","7","6","5","4","3","2"];// 校验码
       var address = "420101"; // 住址
       var birthday = "19810101"; // 生日
       var s = Math.floor(Math.random()*10).toString() + Math.floor(Math.random()*10).toString() + Math.floor(Math.random()*10).toString();
       var array = (address + birthday + s).split("");
       var total = 0;
       for(i in array){
            total = total + parseInt(array[i])*parseInt(coefficientArray[i]);
       }
       var lastNumber = lastNumberArray[parseInt(total%11)];
       var id_no_String = address + birthday + s + lastNumber;

        var x = document.getElementsByName("id_no");
        for (var i = 0; i < x.length; i++) {
            var o = x[i];
            o.value = id_no_String;
        }

    }
//生成随机银行卡号
    function getBank_account() {

        var bank_no = document.getElementById("bank_no_select").value;
        var 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 (var j = 0; j < 13; j++) {
            prefix = prefix + Math.floor(Math.random() * 10);
        }

        var x = document.getElementsByName("bank_no");
        for (var i = 0; i < x.length; i++) {
            var o = x[i];
            o.value = bank_no;
        }

        var y = document.getElementsByName("bank_account");
        for (var i = 0; i < y.length; i++) {
            var o = y[i];
            o.value = prefix;
        }
    }

js 随机生成姓名、手机号、身份证号、银行卡号的更多相关文章

  1. js验证真实姓名与身份证号,手机号

    最近的项目中用的需要调用实名认证的接口,实名认证接口价格相比短信而言高了不是几分钱,所以说调用实名认证的条件就要严格把关,因此用到js验证真实姓名与js验证身份证号. 进入正题 1.js验证真实姓名 ...

  2. Java随机生成18位身份证号

    package com.ihome.data; import java.text.SimpleDateFormat; import java.util.Calendar; import java.ut ...

  3. Java对姓名, 手机号, 身份证号, 地址进行脱敏

    替换几位就用几个*号 一.姓名 1, 脱敏规则: 只显示第一个汉字,比如李某某置换为李**, 李某置换为李* private static String desensitizedName(String ...

  4. selenium + python自动化测试unittest框架学习(七)随机生成姓名

    在自动化测试过程中经常要测试到添加用户的操作,每次都要输入中文,原本是找了十几个中文写成了列表,然后从列表中随机取出填入用户名文本框中,随着测试的增加,发现同名的人搜索出来一大堆,最后在网上找了个随机 ...

  5. JS随机生成不重复数据的代码分享

    JS随机生成不重复数据. 代码如下: <script> // 定义存放生成随机数的数组 var array=new Array(); // 循环N次生成随机数 for(var i = 0 ...

  6. js进阶正则表达式15验证身份证号(|符号的使用:var reg=/^\d{17}[\d|X]$|^\d{15}$/)(str的方法substr)

    js进阶正则表达式15验证身份证号(|符号的使用:var reg=/^\d{17}[\d|X]$|^\d{15}$/)(str的方法substr) 一.总结 1.|符号的使用:var reg=/^\d ...

  7. js验证姓名和身份证号

    js验证真实姓名,是用的unicode字符的来进行匹配,而中国人的姓名长度一般都是2-4,所以重复匹配{2,4}次 1.js验证真实姓名 1 var regName =/^[\u4e00-\u9fa5 ...

  8. js 随机生成信用卡号

    本文实例讲述了JavaScript随机生成信用卡卡号的方法.分享给大家供大家参考.具体分析如下: 这段JS代码根据信用卡卡号产生规则随机生成信用卡卡号,是可以通过验证的,仅供学习参考,请不要用于非法用 ...

  9. js随机生成验证码及其颜色

    今天迎来了2018年第一场雪,这个美好的日子,总的写点什么纪念一下,在这里写了一个在js中使用Math.random()函数,随机生成四位数的验证码及其验证码换颜色. js代码如下: var arra ...

随机推荐

  1. iOS开发之SQLite--C语言接口规范(三)——Binding Values To Prepared Statements

    在前面的博客中已经介绍了如何连接SQLite数据库,并且简单的查询和遍历结果集.在前面用到了sqlite3_stmt *stmt,也就是预编译后的SQL语句.在本篇博客中会了解一下sqlite3_st ...

  2. 玩转Jquery,告别前端知道思路忘记知识点的痛苦

    本节内容: 本章主要讲解一下jquery,主要是工作中用的前端框架是datetables框架,然后datetables框架又是基于jqeury研发的,所以要想学一个东西,就必须要了解其底层,不然走路都 ...

  3. C语言 第五章 循环结构

    一.for 请在屏幕上输出1000个*号 printf("*************************...."); #include "stdio.h" ...

  4. grunt任务之seajs模块打包

    grunt与seajs grunt是前端流行的自定义任务的脚手架工具,我们可以使用grunt来为我们做一些重复度很高的事情,如压缩,合并,js语法检查等.通过定义grunt的配置文件Gruntfile ...

  5. HTML中的meta(转载)

    meta是用来在HTML文档中模拟HTTP协议的响应头报文.meta 标签用于网页的<head>与</head>中,meta 标签的用处很多.meta 的属性有两种:name和 ...

  6. hibernate笔记--双向一对多映射方法

    前两节写了两个例子,分别是单向多对一的映射和单向一对多的映射,这一节继续以这个例子讲一下双向一对多的映射方法,如下图所示: 很多时候,我们既想从一对端获取多对端的信息,又想从多对端获取一对端的数据,这 ...

  7. T-SQL CROSS APPLY、MERGE

    写在前面 刚才看项目里一个存储过程,也是好长时间没有使用Sql Server2008了,好多写法和函数感觉到陌生,这就遇到了CROSS APPLY 和MERGE的语法,两者之前完全没接触过. 所以专门 ...

  8. Winform在线更新

    引言 2015年第一篇,Winform在线更新,算是重操旧业吧,09年刚到北京时一直做硬件联动编程,所以大多数时间都在搞Winform, 但是从来没做过在线更新这个功能,前几天参与部门另一个项目,上来 ...

  9. Redis修改数据多线程并发—Redis并发锁

    本文版权归博客园和作者本人吴双共同所有 .转载爬虫请注明地址,博客园蜗牛 http://www.cnblogs.com/tdws/p/5712835.html 蜗牛Redis系列文章目录http:// ...

  10. LINUX最大线程数及最大进程数

    查看最大线程数: cat /proc/sys/kernel/threads-max ulimit User limits - limit the use of system-wide resource ...