Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Da PHP a JavaScript

  1. #1
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125

    Da PHP a JavaScript

    Inizio chiedendovi scusa, perchè di javascript ne conosco poco... so qualcosa in più di PHP ma ho necessità di tradurre in javascript questa funzione che restituisce un carattere alfanumerico casuale compreso '_':

    codice:
    function randomChar() {
    	$rand = Math::random(63);
    		
    	if($rand >= 0 && $rand < 10) $rand += 48;  // 0..9
    	else if($rand >= 10 && $rand <= 35) $rand += 55;  // A..Z
    	else if($rand >= 36 && $rand < 62) $rand += 61;  // a..z
    	else $rand = 95;  // _
    		
    	return chr($rand);
    }
    Considerate che, nel mio caso:
    1. Math::random(int x) restituisce un intero casuale compreso tra 0 e (x-1)
    2. char(int x) restituisce il carattere corrispondente al codice ASCII (x) (in decimale).

    Ringrazio tutti quelli che mi aiuteranno in questa (per me) impresa.

  2. #2
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    up

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Velocissimamente (senza alcun controllo):
    codice:
    function randomChar() {
    	var rand = Math.random()*63;
    	if(rand>=0 && rand<10) rand += 48;  // 0..9
    	else if(rand>=10 && rand<=35) rand += 55;  // A..Z
    	else if(rand>=36 && rand<62) $rand += 61;  // a..z
    	else rand = 95;  // _
    		
    	return ascii(rand);
    }
    Non ricordo se l'ultima funzione sia ascii() o chr() o qualcosa di analogo. Purtroppo ora non riesco a consultare un manuale.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Grazie Mich

    Ma come faccio a stampare a video il codice generato dall funzione?

  5. #5
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    al posto di

    ascii(rand)


    devi scrivere

    String.fromCharCode(rand)


    se la devi stampare basta scrivere dentro il body

    <script>
    document.write(randomChar());
    </script>

    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  6. #6
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Grazie F, ho scritto così:
    codice:
    <html>
    <head>
    
    <SCRIPT language="javascript" type="text/javascript">
    function randomChar() {
    	var rand = Math.random()*63;
    	if(rand>=0 && rand<10) rand += 48;  // 0..9
    	else if(rand>=10 && rand<=35) rand += 55;  // A..Z
    	else if(rand>=36 && rand<62)  rand += 61;  // a..z
    	else rand = 95;  // _
    		
    	return String.fromCharCode(rand);
    }
     
    </script>
    </head>
    
    <body>
    <script> 
    document.write(randomChar()); 
    </script> 
    </body>
    
    </html>
    ma stampa un numero o una lettera alla volta... :master:

  7. #7
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    sì,
    ed è esattamente ciò che fa la funzione che hai postato tu


    ...questa funzione che restituisce un carattere alfanumerico casuale...
    tu che cosa vorresti generare esattamente con quella funzione??
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  8. #8
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Originariamente inviato da fcaldera
    sì,
    ed è esattamente ciò che fa la funzione che hai postato tu




    tu che cosa vorresti generare esattamente con quella funzione??
    Si scusa non l'ho detto...

    Mi servirebbe un codice alfanumerico a 8 o più cifre...

  9. #9
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    poniamo che tu voglia generare una stringa, con lunghezza casuale compresa tra 8 e 12 caratteri

    allora puoi modificare lo script così:

    codice:
    <script type="text/javascript">
    function randomChar() {
            var word = "";
            var len = Math.floor(Math.random() * 4) + 8;
     
           
            for (i=1; i<=len; i++) {
       	   var rand = Math.random()*63;
    	   if(rand>=0 && rand<10) rand += 48;  // 0..9
    	   else if(rand>=10 && rand<=35) rand += 55;  // A..Z
    	   else if(rand>=36 && rand<62)  rand += 61;  // a..z
    	   else rand = 95;  // _
    	   
               word += String.fromCharCode(rand);
            }
    
    	return word;
    }
     
    </script>
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  10. #10
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    1000 grazie

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 © 2026 vBulletin Solutions, Inc. All rights reserved.