UNPKG

little-tool

Version:

A little tool for help development debug

113 lines (102 loc) 4.57 kB
#!/usr/bin/env node var os = require('os'); var shell = require("shelljs"); var argv = require('yargs') .option('r', { alias : 'random', describe: '生成随机:姓名 -r n/手机号 -r m/身份证号 -r c' }) .usage('Usage: dt [options]') .example('dt -r n', '生成随机姓名') .help('h') .alias('h', 'help') .epilog('copyright 2017') .argv; if(argv.r){ switch (argv.r){ case 'n': getName(); break; case 'm': getMoble(); break; case 'c': getId_no(); break; default: console.log('常将冷眼观螃蟹,看你横行到几时') } } function randomResult(index, data) { var clipCommand = { 'windows': 'clip', 'darwin': 'pbcopy' }; var titles = ['姓名', '手机号', '身份证号']; for(var osType in clipCommand){ var command = 'clip'; if(os.type().toLowerCase().indexOf(osType)>=0) { command = clipCommand[osType]; } } console.log('帮您随机生成'+titles[index]+': '+data); shell.exec("echo " + data + " | " + command); } // 生成随机姓名 function getName(){ var familyNames = [ "赵", "钱", "孙", "李", "周", "吴", "郑", "王", "冯", "陈", "褚", "卫", "蒋", "沈", "韩", "杨", "朱", "秦", "尤", "许", "何", "吕", "施", "张", "孔", "曹", "严", "华", "金", "魏", "陶", "姜", "戚", "谢", "邹", "喻", "柏", "水", "窦", "章", "云", "苏", "潘", "葛", "奚", "范", "彭", "郎", "鲁", "韦", "昌", "马", "苗", "凤", "花", "方", "俞", "任", "袁", "柳", "酆", "鲍", "史", "唐", "费", "廉", "岑", "薛", "雷", "贺", "倪", "汤", "滕", "殷", "罗", "毕", "郝", "邬", "安", "常", "乐", "于", "时", "傅", "皮", "卞", "齐", "康", "伍", "余", "元", "卜", "顾", "孟", "平", "黄", "和", "穆", "萧", "尹"]; var givenNames = [ "子璇", "淼", "国栋", "夫子", "瑞堂", "甜", "敏", "尚", "国贤", "贺祥", "晨涛", "昊轩", "易轩", "益辰", "益帆", "益冉", "瑾春", "瑾昆", "春齐", "杨", "文昊", "东东", "雄霖", "浩晨", "熙涵", "溶溶", "冰枫", "欣欣", "宜豪", "欣慧", "建政", "美欣", "淑慧", "文轩", "文杰", "欣源", "忠林", "榕润", "欣汝", "慧嘉", "新建", "建林", "亦菲", "林", "冰洁", "佳欣", "涵涵", "禹辰", "淳美", "泽惠", "伟洋", "涵越", "润丽", "翔", "淑华", "晶莹", "凌晶", "苒溪", "雨涵", "嘉怡", "佳毅", "子辰", "佳琪", "紫轩", "瑞辰", "昕蕊", "萌", "明远", "欣宜", "泽远", "欣怡", "佳怡", "佳惠", "晨茜", "晨璐", "运昊", "汝鑫", "淑君", "晶滢", "润莎", "榕汕", "佳钰", "佳玉", "晓庆", "一鸣", "语晨", "添池", "添昊", "雨泽", "雅晗", "雅涵", "清妍", "诗悦", "嘉乐", "晨涵", "天赫", "玥傲", "佳昊", "天昊", "萌萌", "若萌" ]; 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; randomResult(0, name); } //生成随机手机号 function getMoble() { var prefixArray = ["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); } randomResult(1, 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; randomResult(2, id_no_String); }