Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Sequenza random

  1. #1
    Utente di HTML.it L'avatar di Frankos
    Registrato dal
    Nov 2002
    Messaggi
    505

    Sequenza random

    Ciao a tutti,

    dovrei generare una sequenza alfanumerica casuale di 8 cifre.
    C'è un modo per farlo?

    Grazie
    Ciao
    Sempre più in alto...
    www.webdition.com

  2. #2
    codice:
    <script language="javascript" type="text/javascript">
    var num=new Array;
    for (x=0;x<8;x++)
    {
    nuovo=num.push(Math.round(10*Math.random()));
    }
    var finale=num.join("");
    document.write (finale);
    </script>
    Forse però c'è un metedo piu veloce

    Edit: Ops...era alfanumerico...
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  3. #3
    Utente di HTML.it L'avatar di Frankos
    Registrato dal
    Nov 2002
    Messaggi
    505
    Ciao Sora88,

    così andrebbe come mi hai indicato andrebbe già bene, ma se riuscissi anche a farlo alfanumerico sarebbe meglio.
    Sempre più in alto...
    www.webdition.com

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    fai un array con tutti i caratteri che vuoi usare, ti crei un numero random da 0 al numero di elementi nell'array e costruisci la stringa...

  5. #5
    Utente di HTML.it L'avatar di Frankos
    Registrato dal
    Nov 2002
    Messaggi
    505
    ok, ci provo e ti so dire

    grazie Dennis
    Sempre più in alto...
    www.webdition.com

  6. #6
    codice:
    <script language="javascript" type="text/javascript">
    var alfanu=new Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9");
    var arr=alfanu.length-1;
    for (x=0;x<8;x++)
    {
    document.write(alfanu[Math.round(arr*Math.random())]);
    }
    </script>
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  7. #7
    Utente di HTML.it L'avatar di Frankos
    Registrato dal
    Nov 2002
    Messaggi
    505
    Si il codice funziona Sora88, solo che mi dava un solo carattere.
    L'ho modificato leggermente in questo modo :


    var alfanu=new Array("a","b","c","d","e","f","g","h","i","j","k", "l","m","n","o","p","q","r","s","t","u","v","w","x ","y","z","0","1","2","3","4","5","6","7","8","9") ;
    var arr=alfanu.length-1;
    var finale=""
    for (x=0;x<6;x++)
    {
    finale=finale+alfanu[Math.round(arr*Math.random())];
    }
    document.write(finale)


    Così é a posto.

    Grazie

    Sempre più in alto...
    www.webdition.com

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    e se vogliamo fare la figata

    ...
    var finale="";
    for (x=0;x<6;x++)
    {
    finale+=alfanu[Math.round(Math.random()*arr)];
    }
    document.write(finale);

  9. #9
    A me ne dava 8...vabbè bye ^^
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Attenzione: non Math.rount(), ma Math.floor().

    E va moltiplicato per il numero degli elementi del vettore:

    Math.floor(Math.random()*alfanu.length)

    Altrimenti o da un numero non esattamente random, oppure da` un buffer overflow.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.