JavaScript expression to generate a 5-digit number in every case

JavascriptRandomExpressionDigit

Javascript Problem Overview


for my selenium tests I need an value provider to get a 5-digit number in every case. The problem with javascript is that the api of Math.random only supports the generation of an 0. starting float. So it has to be between 10000 and 99999.

So it would be easy if it would only generates 0.10000 and higher, but it also generates 0.01000. So this approach doesn't succeed:

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

Is it possible to generate a 5-digit number in every case (in an expression!) ?

Javascript Solutions


Solution 1 - Javascript

What about:

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

Solution 2 - Javascript

Yes, you can create random numbers in any given range:

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

Or simplified:

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

Solution 3 - Javascript

if you want to generate say a zipcode, and don't mind leading zeros as long as it's 5 digits you can use:

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

Solution 4 - Javascript

What about this?

var generateRandomNDigits = (n) => {
  return Math.floor(Math.random() * (9 * (Math.pow(10, n)))) + (Math.pow(10, n));
}

generateRandomNDigits(5)

Solution 5 - Javascript

You can get a random integer inclusive of any given min and max numbers using the following function:

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

For more examples and other use cases, checkout the Math.random MDN documentation.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionChristopher KlewesView Question on Stackoverflow
Solution 1 - JavascriptRubens FariasView Answer on Stackoverflow
Solution 2 - JavascriptGuffaView Answer on Stackoverflow
Solution 3 - JavascriptmiaubizView Answer on Stackoverflow
Solution 4 - JavascriptSanSView Answer on Stackoverflow
Solution 5 - JavascriptTarekView Answer on Stackoverflow