方法1: Math.random()とString.fromCharCode()を使用する方法 この方法では、Math.random()を使用してランダムな数値を生成し、String.fromCharCode()を使用して数値を文字に変換します。
function generateRandomString(length) {
let result = '';
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
for (let i = 0; i < length; i++) {
const randomIndex = Math.floor(Math.random() * characters.length);
const randomChar = characters.charAt(randomIndex);
result += randomChar;
}
return result;
}
const randomString = generateRandomString(10);
console.log(randomString);
上記のコードでは、generateRandomString
という関数を定義し、length
パラメータを受け取ります。characters
変数には、生成するランダムな文字列に含める文字のリストが含まれています。for
ループを使用して、指定した長さのランダムな文字列を生成し、result
変数に追加しています。最後に、生成されたランダムな文字列を返します。
方法2: crypto.getRandomValues()を使用する方法 この方法では、crypto.getRandomValues()メソッドを使用してランダムな数値のバイト配列を生成し、それを文字列に変換します。
function generateRandomString(length) {
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
const charactersLength = characters.length;
const randomValues = new Uint8Array(length);
window.crypto.getRandomValues(randomValues);
let result = '';
for (let i = 0; i < length; i++) {
result += characters[randomValues[i] % charactersLength];
}
return result;
}
const randomString = generateRandomString(10);
console.log(randomString);
上記のコードでは、generateRandomString
という関数を定義し、length
パラメータを受け取ります。characters
変数には、生成するランダムな文字列に含める文字のリストが含まれています。randomValues
変数には、crypto.getRandomValues()メソッドを使用して生成されたランダムな数値のバイト配列が格納されます。for
ループを使用して、指定した長さのランダムな文字列を生成し、result
変数に追加しています。最後に、生成されたランダムな文字列を返します。
これらの方法を使用して、JavaScriptでランダムな英数字の文字列を生成することができます。