تعبير JavaScript لإنشاء رقم مكون من 5 أرقام في كل حالة

StackOverflow https://stackoverflow.com/questions/2175512

سؤال

لاختبارات السيلينيوم الخاصة بي ، أحتاج إلى مزود قيمة للحصول على رقم 5 أرقام في كل حالة. المشكلة مع JavaScript هي أن واجهة برمجة التطبيقات (API) Math.random يدعم فقط توليد 0. بدء تعويم. لذلك يجب أن يكون بين 10000 و 99999.

لذلك سيكون من السهل أن يولد فقط 0.10000 وأعلى ، لكنه يولد أيضًا 0.01000. لذلك هذا النهج لا ينجح:

Math.floor(Math.random()*100000+1)

هل من الممكن إنشاء رقم 5 أرقام في كل حالة (في تعبير!)؟

هل كانت مفيدة؟

المحلول

ماذا عن:

Math.floor(Math.random()*90000) + 10000;

نصائح أخرى

نعم ، يمكنك إنشاء أرقام عشوائية في أي نطاق معين:

var min = 10000;
var max = 99999;
var num = Math.floor(Math.random() * (max - min + 1)) + min;

أو مبسط:

var num = Math.floor(Math.random() * 90000) + 10000;

إذا كنت ترغب في إنشاء قول zipcode ، ولا تمانع في قيادة الأصفار طالما أنها 5 أرقام يمكنك استخدامها:

(""+Math.random()).substring(2,7)

يمكنك الحصول على عدد صحيح عشوائي بما في ذلك أي أرقام دقيقة و MAX باستخدام الوظيفة التالية:

function getRandomIntInclusive(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

لمزيد من الأمثلة وحالات الاستخدام الأخرى ، الخروج Math.Random MDN Documentation.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top