Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

สุ่มตัวอักษรและตัวเลขใน JavaScript ด้วย Math.random()

สร้างสตริงสุ่มจากชุดตัวอักษรที่กำหนด

กำหนดชุดตัวอักษรที่อนุญาต แล้วสุ่มดัชนีด้วย Math.random() วนลูปรวมเป็นสตริง

ตัวอย่างโค้ด

function generateRandomCharacters(size) {
  var generatedOutput = '';
  var storedCharacters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  var totalCharacterSize = storedCharacters.length;
  
  for (var index = 0; index < size; index++) {
    generatedOutput += storedCharacters.charAt(
      Math.floor(Math.random() * totalCharacterSize)
    );
  }
  
  return generatedOutput;
}

console.log(generateRandomCharacters(3)); // เช่น "lq4"

วิธีรัน

node fileName.js

ผลลัพธ์ตัวอย่าง

lq4

คำอธิบาย

  • Math.random() สุ่มเลข 0-0.999...
  • Math.floor(Math.random() * length) สุ่มดัชนี 0 ถึง length-1
  • charAt(index) ดึงตัวอักษรตำแหน่งนั้น

วิธีทันสมัย: crypto.getRandomValues() (ปลอดภัยกว่าสำหรับ security)

function secureRandomString(length) {
  const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
  const bytes = new Uint8Array(length);
  crypto.getRandomValues(bytes);
  return Array.from(bytes, b => chars[b % chars.length]).join('');
}

สำหรับการใช้งานทั่วไป: ใช้ library เช่น nanoid, uuid