js随机生成字母数字组合的字符串 随机动画数字
效果描述:
附件中只有一个index.html文件有效
其中包含css以及html两部分内容
纯js生成的几个随机数字
每次都不重复,点击按钮后再次切换
使用方法:
1、将css样式引入到你的网页中
2、将body中的代码部分拷贝到你需要的地方即可
JS生成随机的由字母数字组合的字符串
前言
最近有个需求,是需要生成3-32位长度的字母数字组合的随机字符串,另一个是生成43位随机字符串。
方法一
奇妙的写法
Math.random().toString(36).substr(2);
输出结果

解释
很有意思,研究了一下,基本上toString后的参数规定可以是2-36之间的任意整数,不写的话默认是10(也就是十进制),此时返回的值就是那个随机数。
若是偶数,返回的数值字符串都是短的,若是奇数,则返回的将是一个很大长度的表示值。
若<10 则都是数字组成,>10 才会包含字母。
所以如果想得到一长串的随机字符,则需使用一个 > 10 且是奇数的参数,另外根据长度自行使用slice(2,n)截取!
方法二
这个倒是有很多的实现方法,由于上一种写法不太符合需求所以写了下一种,欢迎拍砖。
地址
https://gist.github.com/xuanfeng/b23ab28ab412254e1594
代码
/*
** randomWord 产生任意长度随机字母数字组合
** randomFlag-是否任意长度 min-任意长度最小位[固定位数] max-任意长度最大位
** xuanfeng 2014-08-28
*/ function randomWord(randomFlag, min, max){
var str = "",
range = min,
arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']; // 随机产生
if(randomFlag){
range = Math.round(Math.random() * (max-min)) + min;
}
for(var i=0; i<range; i++){
pos = Math.round(Math.random() * (arr.length-1));
str += arr[pos];
}
return str;
}
使用方法
生成3-32位随机串:randomWord(true, 3, 32)
生成43位随机串:randomWord(false, 43)
js产生随机数的几个用法
<script>
function GetRandomNum(Min,Max)
{
var Range = Max - Min;
var Rand = Math.random();
return(Min + Math.round(Rand * Range));
}
var num = GetRandomNum(1,10);
alert(num);
</script>
var chars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
function generateMixed(n) {
var res = "";
for(var i = 0; i < n ; i ++) {
var id = Math.ceil(Math.random()*35);
res += chars[id];
}
return res;
}
1.Math.random(); 结果为0-1间的一个随机数(包括0,不包括1)
2.Math.floor(num); 参数num为一个数值,函数结果为num的整数部分。
3.Math.round(num); 参数num为一个数值,函数结果为num四舍五入后的整数。
Math:数学对象,提供对数据的数学计算。
Math.random(); 返回0和1间(包括0,不包括1)的一个随机数。
Math.ceil(n); 返回大于等于n的最小整数。
用Math.ceil(Math.random()*10);时,主要获取1到10的随机整数,取0的几率极小。
Math.round(n); 返回n四舍五入后整数的值。
用Math.round(Math.random());可均衡获取0到1的随机整数。
用Math.round(Math.random()*10);时,可基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。
Math.floor(n); 返回小于等于n的最大整数。
用Math.floor(Math.random()*10);时,可均衡获取0到9的随机整数
js随机生成字母数字组合的字符串 随机动画数字的更多相关文章
- JS生成随机的由字母数字组合的字符串
前言 最近有个需求,是需要生成3-32位长度的字母数字组合的随机字符串,另一个是生成43位随机字符串. 方法一 奇妙的写法 1 Math.random().toString(36).substr( ...
- Android:随机生成算数四则运算简单demo(随机生成2~4组数字,进行加减乘除运算)
首先创建一个新的Android工程,下面是页面布局: Java代码: 我们先来分析一下如何完成的步骤: 1.首先,先完成生成随机数.(包括随机生成几组数字,范围为多少的数字,四则运算符号等): 2.要 ...
- Swift3 Scanner用法之判断是否数字、提取字符串里的数字
1.判断是否数字 /// 判断是否是数字 /// /// - Parameter string: <#string description#> /// - Returns: <#re ...
- 教你一招:EXCEL单元格随机生成字母
=CHAR(RANDBETWEEN(1,4)+65) 65代表大写字母A,依次类推 1代表从A开始 4代表到D结束
- js坑 把数字型的字符串默认为数字 把前面的0给去掉了("001")
<script> b("); function b(id) { console.log("b函数的id:"+id); //var history = &quo ...
- java 随机生成11位 组合
public static String generate8RateUuid() { String[] chars = new String[] { "a", & ...
- 通过JS生成由字母与数字组合的随机字符串
在项目中可能需要随机生成字母数字组成的字符,如生成3-32位长度的字母数字组合的随机字符串(位数不固定)或者生成43位随机字符串(位数固定) 使用Math.random()与toString()方法的 ...
- c#随机生成汉字、字母、数字
/// <summary> /// 替换变量 /// </summary> /// <param name="content"></par ...
- iOS 生成随机字符串 从指定字符串随机产生n个长度的新字符串
随机字符串 - 生成指定长度的字符串 -(NSString *)randomStringWithLength:(NSInteger)len { NSString *letters = @"a ...
随机推荐
- c#图片上绘制半透明矩形
p.CreateGraphics().FillRectangle( ,Color.LightGreen)), iLeft, iTop, iRight - iLeft, iBottom - iTop); ...
- 如何设置BIOS使服务器断电后再来电能自动开机
不同的主板及CMOS型号相对应的选项会有所不同,但我想应该不会差太多,一般都在[POWER MANAGEMENT SETUP]和[Integrated Peripherals]这两个选项中.下面介绍两 ...
- [ZOJ 1002] Fire Net (简单地图搜索)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1002 题目大意: 给你一个n*n的地图,地图上的空白部分可以放棋 ...
- isPowerOfTwo
//Given an integer, write a function to determine if it is a power of two. public class isPowerOfTwo ...
- 关于前置式递增和后置式递增的小知识(++x与x++)
list<char>::iterator pos; //list<char> coll; for(pos=coll.begin();pos!=coll.end();++pos) ...
- 在iis中注册.net framework
首先定位到文件夹:cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 执行命令:aspnet_regiis.exe -i
- php array函数实例应用
array_diff_key() array_diff_assoc() array_count_values() array_combine() array_column() array_chunk( ...
- 制作Win7(x86)PE ISO文件
WinPE3.1 —Win7 x86 PE V3.1: waik_supplement_zh-cn.isoDVD: cn_windows_7_professional_with_sp1_x86 ...
- 消除PyCharm中满屏的波浪线
PyCharm使用了较为严格的PEP8的检查规则,如果代码命名不规范,甚至多出的空格都会被波浪线标识出来,导致整个编辑器里铺满了波浪线,右边的滚动条也全是黄色或灰色的标记线,很是影响编辑. 在网上看了 ...
- Openstack-Mitaka Ceilometer 部署心得
Openstack-Mitaka Ceilometer 部署心得 标签 : Openstack Ceilometer 是 Openstack 的监控管理计费模块,我所用的版本为 Mitaka 版本.C ...