本文介绍如何使用 JavaScript 的 Math.random() 和 Math.floor() 函数生成包含数字与字符的随机字符串。通过定义大小写字母数组及参数配置,实现指定位数、大小写控制的字母随机生成,以及指定位数的数字随机生成。
JavaScript 随机字符串生成原理
本文介绍一种在 JavaScript 中自动生成包含数字与字符的随机字符串的方法,供读者参考。
该实现主要依赖 Math.random() 和 Math.floor() 两个核心函数。
Math.random() 用于返回一个介于 0 和 1 之间的伪随机数,取值范围为 [0, 1),即可能为 0 但始终小于 1。
Math.floor() 用于向下取整,即舍去小数部分后的数值。
以下是生成随机多位数字的具体实现方法。
代码如下:
/**
*
随机生成数字
*
* @param num 生成数字的位数
*/
function randomNumber(num){
return ''+Math.floor(Math.random() * num) ;
}
随机字符生成实现
接下来介绍 JavaScript 中随机生成字符的方法。
以下示例演示如何随机生成 A-Z 或 a-z 区间内的字符。
代码如下:
/**
*
随机生成
*
* @param data json数据 例:{"start":0,"end":2,"number":5,"upper":true}
* @param start 开始下标
* @param end 结束下标
* @param number 生成位数
* @param upper 是否大写 默认为小写
*/
function randomLetter(data){
var letterData = "";
var lowercase = new Array("a","b","c","d","e","f","g","h","i","g","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
var uppercase = new Array("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");
var start = data.start;
var end = data.end;
var number = data.number;
var upper = data.upper;
var length = end - start;
for(var i= 0;i < number; i++){
var index = Math.floor(Math.random() * length) + start;
var letter = "";
if(upper){
letter = uppercase[index];
}else{
letter = lowercase[index];
}
letterData += letter;
}
return letterData;
}
引用示例:
代码如下:
alert(new Date().Format("yyyy-MM-dd hh:mm:ss"));
希望本文所述内容对大家的 javascript 程序设计有所帮助。