تعبير JavaScript لإنشاء رقم مكون من 5 أرقام في كل حالة
-
24-09-2019 - |
سؤال
لاختبارات السيلينيوم الخاصة بي ، أحتاج إلى مزود قيمة للحصول على رقم 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.
لا تنتمي إلى StackOverflow