JS实现随机生成字符串(可指定长度)的示例代码

 更新时间:2023年08月01日 10:09:06   作者:觉醒法师  
本文主要介绍了JS实现随机生成字符串(可指定长度)的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1.定义随机截取字符串

const _charStr = 'abacdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789';

2.定义随机生成索引函数

/**
 * 随机生成索引
 * @param min 最小值
 * @param max 最大值
 * @param i 当前获取位置
 */
function RandomIndex(min, max, i){
    let index = Math.floor(Math.random()*(max-min+1)+min),
        numStart = _charStr.length - 10;
    //如果字符串第一位是数字,则递归重新获取
    if(i==0&&index>=numStart){
        index = RandomIndex(min, max, i);
    }
    //返回最终索引值
    return index;
}

3.定义随机生成字符串函数

/**
 * 随机生成字符串
 * @param len 指定生成字符串长度
 */
function getRandomString(len){
    let min = 0, max = _charStr.length-1, _str = '';
    //判断是否指定长度,否则默认长度为15
    len = len || 15;
    //循环生成字符串
    for(var i = 0, index; i < len; i++){
        index = RandomIndex(min, max, i);
        _str += _charStr[index];
    }
    return _str;
}

4.调用

//随机生成长度为20的字符串
getRandomString(20);
//输出结果
//dJQ6UoEaEpXXAEBRQDl9

5.结合上述写法,可以将其整合到一个函数中,来简化流程

具体如下:

/**
 * 随机生成字符串
 * @param len 指定生成字符串长度
 */
function getRandomString(len){
    let _charStr = 'abacdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789',
        min = 0, 
        max = _charStr.length-1, 
        _str = '';                    //定义随机字符串 变量
    //判断是否指定长度,否则默认长度为15
    len = len || 15;
    //循环生成字符串
    for(var i = 0, index; i < len; i++){
        index = (function(randomIndexFunc, i){         
                    return randomIndexFunc(min, max, i, randomIndexFunc);
                })(function(min, max, i, _self){
                    let indexTemp = Math.floor(Math.random()*(max-min+1)+min),
                        numStart = _charStr.length - 10;
                    if(i==0&&indexTemp >=numStart){
                        indexTemp = _self(min, max, i, _self);
                    }
                    return indexTemp ;
                }, i);
        _str += _charStr[index];
    }
    return _str;
}
//调用:
getRandomString(30);
//结果:
//CvoNFNrOa6NECo3bFV8suMokE780NG

到此这篇关于JS实现随机生成字符串(可指定长度)的示例代码的文章就介绍到这了,更多相关JS 随机生成字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • javascript 新闻标题静态分页代码 (无刷新)

    javascript 新闻标题静态分页代码 (无刷新)

    一个模板,从数据库取n条记录,生成静态。做单页面的静态化,索引页面是用JS对数组进行组合的。
    2010-03-03
  • TypeScript与JavaScript项目里引入MD5校验和

    TypeScript与JavaScript项目里引入MD5校验和

    这篇文章主要介绍了TypeScript与JavaScript项目里引入MD5校验和,MD5校验和可以用于验证网络文件传输的完整性以及防止文件被人篡改。下文我们就一起来学习TypeScript与JavaScript项目里引入MD5校验和_MD5校验,需要的朋友可以参考一下
    2022-02-02
  • requestAnimationFrame用法优化源码解析

    requestAnimationFrame用法优化源码解析

    这篇文章主要介绍了requestAnimationFrame用法优化源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • JavaScript中的迭代器和可迭代对象与生成器

    JavaScript中的迭代器和可迭代对象与生成器

    这篇文章主要介绍了JavaScript中的迭代器和可迭代对象与生成器,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • js获取及判断键盘按键的方法

    js获取及判断键盘按键的方法

    这篇文章主要介绍了js获取及判断键盘按键的方法,涉及JavaScript键盘事件的获取及键值的判定技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-12-12
  • 使用p5.js临摹动态图片

    使用p5.js临摹动态图片

    这篇文章主要为大家详细介绍了使用p5.js临摹动态图片,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • JS实现简单的键盘打字的效果

    JS实现简单的键盘打字的效果

    本文给大家分享的是使用javascript实现的简单的键盘打字效果,十分的简单实用,推荐给有需要的小伙伴参考下。
    2015-04-04
  • JavaScript中的立即执行函数表达式介绍

    JavaScript中的立即执行函数表达式介绍

    这篇文章主要介绍了JavaScript中的立即执行函数表达式介绍,本文着重讲解了什么是立即调用函数表达式,需要的朋友可以参考下
    2015-03-03
  • 前端实现内容保护的几种有效技术方案

    前端实现内容保护的几种有效技术方案

    在数字化时代,内容保护成为了许多网站和应用的重要需求,无论是付费内容、考试系统还是敏感信息展示,开发者都需要采取适当措施来防止内容被轻易复制,本文将详细介绍几种前端实现内容保护的技术方案,并分析它们的优缺点,需要的朋友可以参考下
    2025-07-07
  • JavaScript中Promise的简单使用及其原理详解

    JavaScript中Promise的简单使用及其原理详解

    Promise是ES6最重要的特性之一,今天小编就来带大家一起系统且细致的研究一下Promise的用法以及原理,感兴趣的小伙伴可以学习一下哦
    2023-03-03

最新评论