• JS生成随机的由字母数字组合的字符串


    前言

    最近有个需求,是需要生成3-32位长度的字母数字组合的随机字符串,另一个是生成43位随机字符串。

    方法一

    奇妙的写法

    1

    Math.random().toString(36).substr(2);

    输出结果

    dxfdsf

    解释

    很有意思,研究了一下,基本上toString后的参数规定可以是2-36之间的任意整数,不写的话默认是10(也就是十进制),此时返回的值就是那个随机数。

    • 若是偶数,返回的数值字符串都是短的,若是奇数,则返回的将是一个很大长度的表示值。
    • 若<10 则都是数字组成,>10 才会包含字母。

    所以如果想得到一长串的随机字符,则需使用一个 > 10 且是奇数的参数,另外根据长度自行使用slice(2,n)截取!

    方法二

    这个倒是有很多的实现方法,由于上一种写法不太符合需求所以写了下一种,欢迎拍砖。

     

    代码

    使用方法

    • 生成3-32位随机串:randomWord(true, 3, 32)
    • 生成43位随机串:randomWord(false, 43)

    GXVTWOOO$QN)]ZS[EEAE24J

  • 相关阅读:
    hdu 5071
    HDU4945 2048(dp)
    ZOJ3229 Shoot the Bullet(有源汇的上下界最大流)
    HDU Destroy Transportation system(有上下界的可行流)
    Treap模板
    HDU4916 Count on the path(树dp??)
    HDU2829 Lawrence(斜率优化dp)
    HDU3507 Print Article(斜率优化dp)
    POJ3164 Command Network(最小树形图)
    Codeforces 452E Three Strings(后缀自动机)
  • 原文地址:https://www.cnblogs.com/makan/p/4850071.html
Copyright © 2020-2023  润新知