I need to generate a random MAC address for a project of mine, and I can not get it to work. Below is my current code (that is not working).
function genMAC(){ // Make a new array with all available HEX options. var colours = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"); // Make variable to hold 6 character HEX array partA = new Array(1); partB = new Array(1); partC = new Array(1); partD = new Array(1); partE = new Array(1); partF = new Array(1); mac-address=""; for (i=0;i<2;i++){ // Loop for partA partA[i]=colours[Math.round(Math.random()*14)]; } for (i=0;i<2;i++){ // Loop through 6 times, randomising the letter added to the array partB[i]=colours[Math.round(Math.random()*14)]; } for (i=0;i<2;i++){ // Loop through 6 times, randomising the letter added to the array partC[i]=colours[Math.round(Math.random()*14)]; } for (i=0;i<2;i++){ // Loop through 6 times, randomising the letter added to the array partD[i]=colours[Math.round(Math.random()*14)]; } for (i=0;i<2;i++){ // Loop through 6 times, randomising the letter added to the array partE[i]=colours[Math.round(Math.random()*14)]; } for (i=0;i<2;i++){ // Loop through 6 times, randomising the letter added to the array partF[i]=colours[Math.round(Math.random()*14)]; } // Returns like "a10bc5". It is likely that you may need to add a "#". mac-address = partA + ":" + partB + ":" + partC + ":" + partD + ":" + partE + ":" + partF; return mac-address; }
Ugly. I'm fairly new to JS and I am wondering if there is an easier way to do this that would work.
XX:XX:XX:XX:XX:XX("0"+Math.floor(Math.random()*256).toString(16)).slice(-2):-)