原创

JavaScript随机生成用户名、姓名、UUID、字母、数字等

温馨提示:
本文最后更新于 2023年03月04日,已超过 391 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

在很多项目开发过程中,注册成功后可能都会需要自动生成用户名,或者起名网中的一些业务中随机生成姓名,本文博主就用JavaScript随机生成用户名、字母、姓名、手机号、身份证号、UUID、汉字等随机生成示例给大家提供参考。

随机生成姓名

 function getUserName(){  //百家姓
    var familyNames = new Array(
        "赵",  "钱",  "孙",  "李",  "周",  "吴",  "郑",  "王",  "冯",  "陈",  
        "褚",  "卫",  "蒋",  "沈",  "韩",  "杨",  "朱",  "秦",  "尤",  "许",
        "何",  "吕",  "施",  "张",  "孔",  "曹",  "严",  "华",  "金",  "魏",  
        "陶",  "姜",  "戚",  "谢",  "邹",  "喻",  "柏",  "水",  "窦",  "章",
        "云",  "苏",  "潘",  "葛",  "奚",  "范",  "彭",  "郎",  "鲁",  "韦",  
        "昌",  "马",  "苗",  "凤",  "花",  "方",  "俞",  "任",  "袁",  "柳",
        "酆",  "鲍",  "史",  "唐",  "费",  "廉",  "岑",  "薛",  "雷",  "贺",  
        "倪",  "汤",  "滕",  "殷",  "罗",  "毕",  "郝",  "邬",  "安",  "常",
        "乐",  "于",  "时",  "傅",  "皮",  "卞",  "齐",  "康",  "伍",  "余",  
        "元",  "卜",  "顾",  "孟",  "平",  "黄",  "和",  "穆",  "萧",  "尹"
        );    //名称
    var givenNames = new Array(    "星辰", "美丽", "翔", "淑华", "晶莹", "云浩", "正气", "雨涵", "嘉怡", "佳毅", 
        "皓月", "佳琪", "紫轩", "瑞辰", "昕蕊", "萌", "明远", "欣宜", "泽远", "欣怡", 
        "子璇", "淼", "国栋", "夫子", "悦心", "甜", "敏", "尚", "国贤", "贺祥", "越峰", 
        "昊轩", "启悦", "皓然", "建国", "益冉", "瑾春", "月仙", "雅芬", "章章", "文昊", 
        "大东", "雄霖", "浩晨", "熙涵", "切瑞", "枫叶", "欣欣", "宜豪", "欣慧", "建业", 
        "建林", "亦菲", "皓轩", "冰洁", "佳欣", "涵涵", "月辰", "淳美", "恩铭", "伟洋", 
        "清妍", "诗悦", "嘉乐", "晨涵", "天赫", "玥傲", "佳昊", "天昊", "萌萌", "若萌"
        "佳怡", "欧莱", "晨茜", "晨璐", "运昊", "梦欣", "淑君", "晶滢", "润莎", "榕汕", 
        "乐毅", "佳玉", "晓庆", "一鸣", "语晨", "添池", "田心", "雨泽", "雅晗", "雅涵",     "美欣", "树佳", "文轩", "檀丽", "欣源", "梦雅", "榕润", "欣汝", "慧嘉", "建新", 
        
        );
    
    var i = parseInt(10 * Math.random())*10 + parseInt(10 * Math.random());
    var j = parseInt(10 * Math.random())*10 + parseInt(10 * Math.random());

    return = familyNames[i]+ givenNames[j];
  
 }

随机生成用户名

参数prefix:固定前缀

参数randomLength:固定前缀除外的随机长度

function getUserName(prefix, randomLength) {
    // 兼容更低版本的默认值写法
    prefix === undefined ? prefix = "" : prefix;
    randomLength === undefined ? randomLength = 8 : randomLength;

    // 设置随机用户名
    // 用户名随机词典数组
    let nameArr = [
        [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
        ["a", "b", "c", "d", "e", "f", "g", "h", "i", "g", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
    ]
    // 随机名字字符串
    let name = prefix;
    // 循环遍历从用户词典中随机抽出一个
    for (var i = 0; i < randomLength; i++) {
        // 随机生成index
        let index = Math.floor(Math.random() * 2);
        let zm = nameArr[index][Math.floor(Math.random() * nameArr[index].length)];
        // 如果随机出的是英文字母
        if (index === 1) {
            // 则百分之50的概率变为大写
            if (Math.floor(Math.random() * 2) === 1) {
                zm = zm.toUpperCase();
            }
        }
        // 拼接进名字变量中
        name += zm;
    }
    // 将随机生成的名字返回
    return name;
}

随机生成生僻汉字

function getRandomText(){   eval( "var word=" +  '"\\u' + (Math.round(Math.random() * 20901) + 19968).toString(16)+'"')
  return word;
}

随机生成指定个数汉字

function randomlyGeneratedChineseCharacters(num) {
    let arr = []
    for (let i = 0; i < num; i++) {
        let str
	//汉字对应的unicode编码为u4e00-u9fa5转为10进制为19968-40869,先取随机数,再转为16进制
        str = '\\u' + (Math.floor(Math.random() * (40869 - 19968)) + 19968).toString(16)
	//在用正则操作数据后进行解码。注意:unescape() 函数在 JavaScript 1.5 版中已弃用。请使用 decodeURI() 或 decodeURIComponent() 代替。
        str = unescape(str.replace(/\\u/g, "%u"));
        arr.push(str)
    }
    return arr.join("");
}

随机生成手机号

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);
    }
    return prefix;
  }

随机生成身份证号

function getIdNO(){
    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)];
    return address + birthday + s + lastNumber;
  }

随机生成大写字母

function randomEng(){
    var _len = 2;
    var i=0;
    var _str = "";
    while(i < _len){
        i++;
        var ranNum = Math.ceil(Math.random() * 25);
        _str += String.fromCharCode(65+ranNum);
    }
    return _str;
}

随机生成指定长度UUID

function createUUID(len, radix) {
     var chars = '0123456789'.split('');
     var uuid = [], i;
     radix = radix || chars.length;
     if(len){
       for (i = 0; i < len; i++){
           uuid[i] = chars[0 | Math.random()*radix];
       }
     }
     return '-'+uuid.join('');
 }


正文到此结束
该篇文章的评论功能已被站长关闭
本文目录