下面是对“Js生成随机数/随机字符串的方法小结【5种方法】”的完整攻略。
标题
Js生成随机数/随机字符串的方法小结【5种方法】
概述
在编写 JavaScript 代码时,随机数和随机字符串的生成是非常常见的需求。本文将介绍总共 5 种方法来生成随机数和随机字符串。
生成随机整数
Math.random() 方法
Math.random() 是 JavaScript 中生成 0 到 1 之间的随机数的方法,但是通过一定的计算可以将其转换为所需的整数范围。
// 生成 0 到 9 之间的随机整数
const randomNumber = Math.floor(Math.random() * 10);
使用 window.crypto.getRandomValues()
window.crypto.getRandomValues() 方法可以生成高质量的随机数字。如果是在浏览器中使用,这是最安全和最随机的生成随机数的方法。
// 生成 0 到 9 之间的随机整数
const array = new Uint32Array(1);
window.crypto.getRandomValues(array);
const randomNumber = array[0] % 10;
生成随机字符串
使用随机密码生成器库
可以使用 JavaScript 中的随机密码生成器库,例如:randa 和 randomatic。
// 使用 randomatic 库生成 8 位随机字符串
const randomString = require('randomatic')
const password = randomString('Aa0', 8);
通过 Math.random() 方法实现
可以使用 Math.random() 方法,生成 A至Z,a至z,0至9 的随机数并转换成字符串。
// 生成 8 位随机字符串
function generateRandomString(length) {
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
let result = '';
for ( let i = 0; i < length; i++ ) {
result += characters.charAt(Math.floor(Math.random() * characters.length));
}
return result;
}
const randomString = generateRandomString(8);
使用 window.crypto.getRandomValues()
同样的,也可以使用 window.crypto.getRandomValues() 方法来生成高质量的随机字符串。
// 生成 8 位随机字符串
const randomString = [...window.crypto.getRandomValues(new Uint8Array(8))].map(x => x.toString(16)).join('');
结束语
以上就是 JavaScript 中生成随机数和随机字符串的五种方法,可以根据需求选择适合自己的方法来使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Js生成随机数/随机字符串的方法小结【5种方法】 - Python技术站