首页 > web前端 > js教程 > js随机生成姓名、手机号、身份证号、银行卡号【实现代码】_javascript技巧

js随机生成姓名、手机号、身份证号、银行卡号【实现代码】_javascript技巧

WBOY
发布: 2016-05-16 15:03:28
原创
5308 人浏览过

开发测试的时候,经常需要填写姓名、手机号、身份证号、银行卡号,既要符合格式要求、又不能重复。大家会到网上搜各种生成器。能不能自己写一个简单的生成器呢。下面是随机生成姓名、手机号、身份证号、银行卡号的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随机生成姓名、手机号、身份证号、银行卡号【实现代码】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板