JS实现的生成随机数的4个函数分享
来源: 阅读:2336 次 日期:2015-02-13 11:06:49
温馨提示: 小编为您整理了“JS实现的生成随机数的4个函数分享”,方便广大网友查阅!

这篇文章主要介绍了JS实现的生成随机数的4个函数分享,本文直接给出实现代码,需要的朋友可以参考下

第一种方法

代码如下:

/*

:生成随机字符串

方法可以接收一个基数作为参数的原理,这个基数从2到36封顶。如果不指定,默认基数是10进制

*/

function generateRandomAlphaNum(len) {

var rdmString = "";

for (; rdmString.length < len; rdmString += Math.random().toString(36).substr(2));

return rdmString.substr(0, len);

}

第二种方法

代码如下:

//JS生成GUID函数,类似.net中的NewID();

function S4() {

return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);

}

function NewGuid() {

return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());

}

第三种方法

代码如下:

//JS生成GUID函数,类似.net中的NewID();

function newGuid() {

var guid = "";

for (var i = 1; i <= 32; i++) {

var n = Math.floor(Math.random() * 16.0).toString(16);

guid += n;

if ((i == 8) || (i == 12) || (i == 16) || (i == 20))

guid += "-";

}

return guid;

}

第四种方法

代码如下:

/*

:生成随机字符串

());

*/

;(function(){

//数字0-9,大写字母,小写字母,ASCII或UNICODE编码(十进制),共62个

var charCodeIndex = [[48,57],[65,90],[97,122]];

var charCodeArr = [];

function getBetweenRound(min,max){

return Math.floor(min+Math.random()*(max-min));

};

function getCharCode(){

for(var i=0,len=3;i<len;i++){

var thisArr = charCodeIndex[i];

for(var j=thisArr[0],thisLen=thisArr[1];j<=thisLen;j++){

charCodeArr.push(j);

}

}

}

function ranStr(slen){

slen = slen || 20;

charCodeArr.length<62 && getCharCode();

var res = [];

for(var i=0;i<slen;i++){

var index = getBetweenRound(0,61);

res.push(String.fromCharCode(charCodeArr[index]));

}

return res.join('');

};

this.ranStr = ranStr;

})();

更多信息请查看IT技术专栏

更多信息请查看脚本栏目
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map