JS生成随机字符串的多种方法


Posted in Javascript onJune 10, 2014

下面的一段代码,整理电脑时,记录备查。

<script language="javascript"> 
function randomString(len) {
len = len || 32;

var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';    /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/

var maxPos = $chars.length;

var pwd = '';

for (i = 0; i < len; i++) {


pwd += $chars.charAt(Math.floor(Math.random() * maxPos));

}

return pwd;
}
document.write(randomString(32));
</script>

使用方法,就不用说了吧,调用randomString方法,参数len为返回的随机字符串长度。

传参就长度,如果不带参数默认输出32个字符。

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生成的是13位,传给php需要 /1000

timestamp = timestamp/1000;
<script type="text/javascript">
function  randomChar(l)  {
var  x="0123456789qwertyuioplkjhgfdsazxcvbnm";
var  tmp="";
var timestamp = new Date().getTime();
for(var  i=0;i<  l;i++)  {
tmp  +=  x.charAt(Math.ceil(Math.random()*100000000)%x.length);
}
return  timestamp+tmp;
Javascript 相关文章推荐
一段实现页面上的图片延时加载的js代码
Feb 11 Javascript
JQUERY1.6 使用方法四 检测浏览器
Nov 23 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
Aug 04 Javascript
JavaScript中指定函数名称的相关方法
Jun 04 Javascript
javascript基本语法
May 31 Javascript
浅谈js中的引用和复制(传值和传址)
Sep 18 Javascript
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
Dec 14 Javascript
详解JavaScript中this的指向问题
Jan 20 Javascript
vue.js中Vue-router 2.0基础实践教程
May 08 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
Nov 25 Javascript
ES6 Object方法扩展的应用实例分析
Jun 25 Javascript
详解vue 组件的实现原理
Nov 12 Javascript
json中换行符的处理方法示例介绍
Jun 10 #Javascript
Jquery焦点与失去焦点示例应用
Jun 10 #Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
Jun 10 #Javascript
JavaScript中统计Textarea字数并提示还能输入的字符
Jun 10 #Javascript
iframe里的页面禁止右键事件的方法
Jun 10 #Javascript
js类定义函数时用prototype与不用的区别示例介绍
Jun 10 #Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
Jun 10 #Javascript
You might like
2020年4月放送决定!第2期TV动画《邪神酱飞踢》视觉图&主题曲情报公开!
2020/03/06 日漫
DIY一个适配电脑声卡的动圈话筒放大器
2021/03/02 无线电
从网上搜到的phpwind 0day的代码
2006/12/07 PHP
thinkphp在模型中自动完成session赋值示例代码
2014/09/09 PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
2014/11/01 PHP
PHP检查端口是否可以被绑定的方法示例
2018/08/09 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
2019/08/14 PHP
如何在PHP中生成随机数
2020/06/04 PHP
JavaScript学习笔记之内置对象
2015/01/22 Javascript
基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)
2015/12/25 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
2016/10/27 Javascript
浅析node Async异步处理模块用例分析及常用方法介绍
2017/11/17 Javascript
JavaScript分步实现一个出生日期的正则表达式
2018/03/22 Javascript
简单实现vue中的依赖收集与响应的方法
2019/02/18 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
Vue组件通信中非父子组件传值知识点总结
2019/12/05 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
2019/12/12 Javascript
python网页请求urllib2模块简单封装代码
2014/02/07 Python
python计算牛顿迭代多项式实例分析
2015/05/07 Python
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
使用Python更换外网IP的方法
2018/07/09 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
python批量从es取数据的方法(文档数超过10000)
2018/12/27 Python
python itchat实现调用微信接口的第三方模块方法
2019/06/11 Python
PyCharm搭建Spark开发环境实现第一个pyspark程序
2019/06/13 Python
libreoffice python 操作word及excel文档的方法
2019/07/04 Python
Python线程障碍对象Barrier原理详解
2019/12/02 Python
Python远程开发环境部署与调试过程图解
2019/12/09 Python
Pytorch之finetune使用详解
2020/01/18 Python
python调用百度AI接口实现人流量统计
2021/02/03 Python
基于HTML5+tracking.js实现刷脸支付功能
2020/04/16 HTML / CSS
面试后感谢信
2014/02/01 职场文书
先进集体事迹材料
2014/02/17 职场文书
抽样调查项目计划书
2014/04/24 职场文书
介绍信格式样本
2015/05/05 职场文书