Tilfeldig strenggenerator ved hjelp av JavaScript

Tilfeldig strenggenerator ved hjelp av JavaScript
I JavaScript kan du enkelt opprette en tilfeldig strenggenerator ved hjelp av Matematikk tilfeldig () metode. Det er to tilnærminger til å lage en tilfeldig strenggenerator med matematikk tilfeldig, den ene bruker denne metoden i kombinasjon med matematikkulv, og den andre bruker dette med toString () metode. Denne artikkelen vil fokusere på begge disse metodene en etter en.

Metode 1: Opprette en tilfeldig strenggenerator ved bruk av matematikkgulvet () og matematikk tilfeldig ()

For å starte først, lage en strengvariabel med alle mulige tegn som den tilfeldig genererte strengen kan ha. For eksempel, hvis du vil lage en tilfeldig streng med karakterens muligheter er "A-Z”,“A-Z”,“0-9”Og noen få spesialtegn som“!@#$%^&*”. For å gjøre dette, bruk følgende linje:

streng =
"123456789ABCDEFGHIJKlMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*";

Etter det ønsker du å få lengden på denne strengvariabelen ved å bruke lengde eiendom:

lengde = streng.lengde;

Etter det, lag en tom strengvariabel som skal lagre vår tilfeldig genererte streng:

var resultString = "";

Og lag deretter en for loop, og antall iterasjoner av for -loopen kommer til å definere antall tegn den tilfeldig genererte strengen kommer til å ha. Foreløpig, la oss sette antall iterasjoner til 5 med følgende linjer:

for (i = 1; i<=5; i++)
// Neste linjer kommer inn her

Inne i dette for loop skal du velge et tegn fra karakterene våre for å streng tilfeldig og deretter legge det karakteren på resultater Variabel med følgende linje:

ResultatRing += String.Charat (matematikk.gulv (matematikk.tilfeldig () * lengde));

La oss bryte denne linjen ned og se hva som faktisk skjer her inne:

  • Matematikk tilfeldig () brukes til å generere en tilfeldig flytende punktverdi mellom 0 og 1
  • Resultatet fra matematikk tilfeldig multipliseres med lengde variabel der vi har det totale antallet muligheter for hver karakter
  • Etter den multiplikasjonen er det fortsatt en flytende punktverdi. Derfor avrunder vi antallet ned til en heltallverdi
  • Vi bruker denne heltallverdien som indeksverdi fra vår streng som inneholder alle mulige karakterer
  • Til slutt legger vi ganske enkelt til karakteren som er hentet på den aktuelle indeksen til vår resultater

Etterpå, kom ut av for Loop og bare passere resultater til konsollloggfunksjonen for å skrive ut resultatet på terminalen:

konsoll.logg (resultater);

Det komplette kodebiten er som:

streng =
"123456789ABCDEFGHIJKlMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*";
lengde = streng.lengde;
var resultString = "";
for (i = 1; i <= 5; i++)
ResultatRing += String.Charat (matematikk.gulv (matematikk.tilfeldig () * lengde));

konsoll.logg (resultater);

Ved flere utførelser gir denne koden følgende utfall på terminalen:

Som du kan se, genererer vi for hver utførelse en ny tilfeldig streng med lengde 5.

Metode 2: generere tilfeldige strenger med matematikk tilfeldig () og toString () -metoden

Denne gangen kommer vi til å bruke argumentet innenfor toString () -metoden for å definere basen til strengen som skal analyseres. Dette kan virke forvirrende, men det hele kommer til å forsvinne med et eksempel. Start på med å lage en resultatstreng som denne:

const resultString = matematikk.tilfeldig().ToString (36).substring (2, 7);

La oss nå utforske denne uttalelsen del av del:

  • Matematikk tilfeldig () skaper et tilfeldig flytende punktnummer mellom 0 og 1
  • Etter det konverterer vi dette tallet til streng ved bruk av toString () -metode og angir basen som 36
  • Verdier større enn 10 vil bli gitt alfabetiske verdier akkurat som arbeidet med et heksadesimalt tallsystem.
  • Etter det velger vi bare en substring fra indeksverdien 2 til 7

Etter det kan vi ganske enkelt passere resultater I konsollloggfunksjonen for å skrive den ut på terminalen:

konsoll.logg (resultater);

Utfør programmet et par ganger og observer utdataene som følger:

Som du kan observere i utgangen, kunne vi generere en tilfeldig streng med en lengde på 5.

Imidlertid er metode 1 litt lenger, men det er mye bedre fordi det lar deg definere muligheten for tegnene som kan plasseres i strengen som er langt større enn de 26 alfabetene for små bokstaver og de 10 tallene vi får med metoden 2.

Konklusjon

En tilfeldig strenggenerator kan enkelt opprettes i JavaScript på to forskjellige måter. Begge disse metodene bruker i hovedsak Matematikk tilfeldig () som kjernen, men forskjellen kommer med den ene ved hjelp av matematikkgulvet () -metoden og den andre ved hjelp av toString () -metoden. Denne artikkelen har vist begge metodene sammen med eksemplene sine for å generere tilfeldige strenger med lengden satt til 5.