794 lines
8.8 KiB
HTML
794 lines
8.8 KiB
HTML
|
|
<!DOCTYPE html>
|
||
|
|
<html lang="da">
|
||
|
|
<head>
|
||
|
|
<meta charset="UTF-8">
|
||
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
|
|
<title>Kodegenerator</title>
|
||
|
|
<style>
|
||
|
|
* { box-sizing: border-box; margin: 0; }
|
||
|
|
body { font-family: -apple-system, sans-serif; background: #f5f5f5; padding: 2rem; }
|
||
|
|
.container { max-width: 800px; margin: 0 auto; }
|
||
|
|
h1 { margin-bottom: 1.5rem; }
|
||
|
|
.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
|
||
|
|
.card { background: #fff; border-radius: 8px; padding: 1.5rem; box-shadow: 0 1px 3px rgba(0,0,0,.1); }
|
||
|
|
.card h2 { font-size: 1rem; margin-bottom: .75rem; }
|
||
|
|
textarea { width: 100%; height: 200px; font-family: monospace; font-size: .9rem; padding: .5rem; border: 1px solid #ccc; border-radius: 4px; resize: vertical; }
|
||
|
|
label { display: flex; align-items: center; gap: .5rem; margin-bottom: .5rem; font-size: .9rem; }
|
||
|
|
input[type="number"] { width: 70px; padding: .3rem; border: 1px solid #ccc; border-radius: 4px; }
|
||
|
|
.controls { display: flex; gap: .75rem; flex-wrap: wrap; align-items: center; margin: 1rem 0; }
|
||
|
|
button { padding: .6rem 1.2rem; border: none; border-radius: 6px; cursor: pointer; font-size: .9rem; }
|
||
|
|
.btn-primary { background: #2563eb; color: #fff; }
|
||
|
|
.btn-primary:hover { background: #1d4ed8; }
|
||
|
|
.btn-secondary { background: #6b7280; color: #fff; }
|
||
|
|
.btn-secondary:hover { background: #4b5563; }
|
||
|
|
#output { width: 100%; height: 300px; font-family: monospace; font-size: .9rem; padding: .5rem; border: 1px solid #ccc; border-radius: 4px; resize: vertical; background: #fafafa; }
|
||
|
|
.info { font-size: .8rem; color: #666; margin-top: .5rem; }
|
||
|
|
</style>
|
||
|
|
</head>
|
||
|
|
<body>
|
||
|
|
<div class="container">
|
||
|
|
<h1>Kodegenerator</h1>
|
||
|
|
<div class="grid">
|
||
|
|
<div class="card">
|
||
|
|
<h2>Ordbog (kun navneord)</h2>
|
||
|
|
<textarea id="words" placeholder="Et ord pr. linje">
|
||
|
|
Agent
|
||
|
|
Anledning
|
||
|
|
Arbejde
|
||
|
|
Arkiv
|
||
|
|
Atlas
|
||
|
|
Bad
|
||
|
|
Bakke
|
||
|
|
Balkon
|
||
|
|
Bane
|
||
|
|
Bank
|
||
|
|
Barn
|
||
|
|
Batteri
|
||
|
|
Begivenhed
|
||
|
|
Begreb
|
||
|
|
Behandling
|
||
|
|
Belysning
|
||
|
|
Beregner
|
||
|
|
Berg
|
||
|
|
Besked
|
||
|
|
Beskrivelse
|
||
|
|
Betydning
|
||
|
|
Bil
|
||
|
|
Billede
|
||
|
|
Billet
|
||
|
|
Bistand
|
||
|
|
Blik
|
||
|
|
Blok
|
||
|
|
Blomst
|
||
|
|
Bluse
|
||
|
|
Blyant
|
||
|
|
Bog
|
||
|
|
Bogstav
|
||
|
|
Bonde
|
||
|
|
Bord
|
||
|
|
Borg
|
||
|
|
Branche
|
||
|
|
Brev
|
||
|
|
Bro
|
||
|
|
Brug
|
||
|
|
Brygge
|
||
|
|
Buffer
|
||
|
|
Bund
|
||
|
|
Byg
|
||
|
|
Check
|
||
|
|
Cirkel
|
||
|
|
Citron
|
||
|
|
Cykel
|
||
|
|
Dag
|
||
|
|
Dame
|
||
|
|
Damp
|
||
|
|
Dans
|
||
|
|
Dato
|
||
|
|
Deal
|
||
|
|
Definition
|
||
|
|
Del
|
||
|
|
Design
|
||
|
|
Desktop
|
||
|
|
Dialog
|
||
|
|
Diesel
|
||
|
|
Display
|
||
|
|
Dokument
|
||
|
|
Dokumentation
|
||
|
|
Drift
|
||
|
|
Due
|
||
|
|
Ekko
|
||
|
|
Eksamen
|
||
|
|
Eksempel
|
||
|
|
Eksperiment
|
||
|
|
Elbil
|
||
|
|
Elefant
|
||
|
|
Element
|
||
|
|
Elite
|
||
|
|
Emne
|
||
|
|
Energi
|
||
|
|
Enhed
|
||
|
|
Erfaring
|
||
|
|
Event
|
||
|
|
Eventyr
|
||
|
|
Evne
|
||
|
|
Fabrik
|
||
|
|
Fald
|
||
|
|
Fane
|
||
|
|
Far
|
||
|
|
Farve
|
||
|
|
Fedt
|
||
|
|
Felt
|
||
|
|
Ferie
|
||
|
|
Fest
|
||
|
|
Fil
|
||
|
|
Filter
|
||
|
|
Flag
|
||
|
|
Flaske
|
||
|
|
Flimmer
|
||
|
|
Fly
|
||
|
|
Fokus
|
||
|
|
Fold
|
||
|
|
Folie
|
||
|
|
Folk
|
||
|
|
Forbindelse
|
||
|
|
Force
|
||
|
|
Fordel
|
||
|
|
Form
|
||
|
|
Format
|
||
|
|
Formel
|
||
|
|
Forside
|
||
|
|
Fortid
|
||
|
|
Fragment
|
||
|
|
Frist
|
||
|
|
Front
|
||
|
|
Frost
|
||
|
|
Frugt
|
||
|
|
Fyr
|
||
|
|
Gade
|
||
|
|
Gaffel
|
||
|
|
Gang
|
||
|
|
Garage
|
||
|
|
Garderobe
|
||
|
|
Gas
|
||
|
|
Gave
|
||
|
|
Gear
|
||
|
|
Gift
|
||
|
|
Gitter
|
||
|
|
Glas
|
||
|
|
Glimt
|
||
|
|
Grad
|
||
|
|
Graf
|
||
|
|
Gran
|
||
|
|
Greb
|
||
|
|
Gren
|
||
|
|
Grund
|
||
|
|
Gud
|
||
|
|
Guld
|
||
|
|
Gulv
|
||
|
|
Gymnastik
|
||
|
|
Hage
|
||
|
|
Hal
|
||
|
|
Hals
|
||
|
|
Hastighed
|
||
|
|
Have
|
||
|
|
Havn
|
||
|
|
Held
|
||
|
|
Hensyn
|
||
|
|
Hest
|
||
|
|
Himmel
|
||
|
|
Hindring
|
||
|
|
Hjerte
|
||
|
|
Hjul
|
||
|
|
Hold
|
||
|
|
Hoved
|
||
|
|
Hul
|
||
|
|
Hund
|
||
|
|
Hus
|
||
|
|
Ide
|
||
|
|
Identitet
|
||
|
|
Illustration
|
||
|
|
Image
|
||
|
|
Indeks
|
||
|
|
Indgang
|
||
|
|
Indhold
|
||
|
|
Industri
|
||
|
|
Infektion
|
||
|
|
Information
|
||
|
|
Initiativ
|
||
|
|
Installation
|
||
|
|
Instruks
|
||
|
|
Interface
|
||
|
|
Interval
|
||
|
|
Introduktion
|
||
|
|
Investering
|
||
|
|
Ironi
|
||
|
|
Is
|
||
|
|
Jagt
|
||
|
|
Jern
|
||
|
|
Job
|
||
|
|
Jord
|
||
|
|
Journal
|
||
|
|
Kaffe
|
||
|
|
Kald
|
||
|
|
Kamera
|
||
|
|
Kamp
|
||
|
|
Kanal
|
||
|
|
Kandidat
|
||
|
|
Kant
|
||
|
|
Kapitel
|
||
|
|
Kasse
|
||
|
|
Kategori
|
||
|
|
Kat
|
||
|
|
Kedel
|
||
|
|
Kerne
|
||
|
|
Kilde
|
||
|
|
Klasse
|
||
|
|
Klient
|
||
|
|
Klima
|
||
|
|
Klinge
|
||
|
|
Kloak
|
||
|
|
Klokke
|
||
|
|
Klub
|
||
|
|
Klynge
|
||
|
|
Knald
|
||
|
|
Knap
|
||
|
|
Kniv
|
||
|
|
Knogle
|
||
|
|
Knude
|
||
|
|
Kode
|
||
|
|
Kollega
|
||
|
|
Kommentar
|
||
|
|
Kommunikation
|
||
|
|
Komponent
|
||
|
|
Kontakt
|
||
|
|
Kontrol
|
||
|
|
Konverter
|
||
|
|
Kopi
|
||
|
|
Kort
|
||
|
|
Kraft
|
||
|
|
Krav
|
||
|
|
Kredit
|
||
|
|
Kridt
|
||
|
|
Kro
|
||
|
|
Krop
|
||
|
|
Krystal
|
||
|
|
Kryds
|
||
|
|
Kugle
|
||
|
|
Kunde
|
||
|
|
Kunst
|
||
|
|
Kvalitet
|
||
|
|
Kvittering
|
||
|
|
Laboratorie
|
||
|
|
Lager
|
||
|
|
Lampe
|
||
|
|
Land
|
||
|
|
Larm
|
||
|
|
Last
|
||
|
|
Layout
|
||
|
|
Led
|
||
|
|
Leder
|
||
|
|
Leg
|
||
|
|
Lejlighed
|
||
|
|
Lektion
|
||
|
|
Levering
|
||
|
|
Limit
|
||
|
|
Linje
|
||
|
|
Link
|
||
|
|
Liste
|
||
|
|
Log
|
||
|
|
Logik
|
||
|
|
Lomme
|
||
|
|
Lort
|
||
|
|
Lotus
|
||
|
|
Lov
|
||
|
|
Lugt
|
||
|
|
Lus
|
||
|
|
Lyd
|
||
|
|
Lykke
|
||
|
|
Mad
|
||
|
|
Magasin
|
||
|
|
Magt
|
||
|
|
Majs
|
||
|
|
Makro
|
||
|
|
Mappe
|
||
|
|
Mareridt
|
||
|
|
Mark
|
||
|
|
Marked
|
||
|
|
Maskine
|
||
|
|
Master
|
||
|
|
Materiale
|
||
|
|
Matrix
|
||
|
|
Medarbejder
|
||
|
|
Meddelelse
|
||
|
|
Medium
|
||
|
|
Mening
|
||
|
|
Menu
|
||
|
|
Metode
|
||
|
|
Mikrofon
|
||
|
|
Mikroskop
|
||
|
|
Millimeter
|
||
|
|
Minut
|
||
|
|
Mobil
|
||
|
|
Mode
|
||
|
|
Modul
|
||
|
|
Monster
|
||
|
|
Montering
|
||
|
|
Mor
|
||
|
|
Morgen
|
||
|
|
Motor
|
||
|
|
Mulighed
|
||
|
|
Mund
|
||
|
|
Mus
|
||
|
|
Muse
|
||
|
|
Muskel
|
||
|
|
Musling
|
||
|
|
Myndighed
|
||
|
|
Navn
|
||
|
|
Net
|
||
|
|
Niveau
|
||
|
|
Nord
|
||
|
|
Notat
|
||
|
|
Notifikation
|
||
|
|
Nul
|
||
|
|
Objekt
|
||
|
|
Oktav
|
||
|
|
Olie
|
||
|
|
Omdrejning
|
||
|
|
Ord
|
||
|
|
Ordre
|
||
|
|
Organisation
|
||
|
|
Orientering
|
||
|
|
Ost
|
||
|
|
Overblik
|
||
|
|
Overflade
|
||
|
|
Overraskelse
|
||
|
|
Pakke
|
||
|
|
Palads
|
||
|
|
Palme
|
||
|
|
Panel
|
||
|
|
Papir
|
||
|
|
Par
|
||
|
|
Paradoks
|
||
|
|
Park
|
||
|
|
Partner
|
||
|
|
Pas
|
||
|
|
Pause
|
||
|
|
Peber
|
||
|
|
Pedal
|
||
|
|
Penge
|
||
|
|
Pengetank
|
||
|
|
Person
|
||
|
|
Pil
|
||
|
|
Pilot
|
||
|
|
Pleje
|
||
|
|
Plads
|
||
|
|
Plan
|
||
|
|
Platform
|
||
|
|
Platin
|
||
|
|
Politi
|
||
|
|
Port
|
||
|
|
Portal
|
||
|
|
Position
|
||
|
|
Post
|
||
|
|
Potte
|
||
|
|
Presse
|
||
|
|
Prik
|
||
|
|
Prioritet
|
||
|
|
Problem
|
||
|
|
Procedure
|
||
|
|
Produktion
|
||
|
|
Profil
|
||
|
|
Program
|
||
|
|
Projekt
|
||
|
|
Prop
|
||
|
|
Protokol
|
||
|
|
Provins
|
||
|
|
Pude
|
||
|
|
Puls
|
||
|
|
Punkt
|
||
|
|
Punktum
|
||
|
|
Puslespil
|
||
|
|
Pynt
|
||
|
|
Ramme
|
||
|
|
Rat
|
||
|
|
Reb
|
||
|
|
Refleksion
|
||
|
|
Regel
|
||
|
|
Registrering
|
||
|
|
Regn
|
||
|
|
Regning
|
||
|
|
Rente
|
||
|
|
Reserve
|
||
|
|
Respekt
|
||
|
|
Rest
|
||
|
|
Resultat
|
||
|
|
Retning
|
||
|
|
Rev
|
||
|
|
Ridse
|
||
|
|
Rim
|
||
|
|
Ris
|
||
|
|
Risiko
|
||
|
|
Rock
|
||
|
|
Rod
|
||
|
|
Rolle
|
||
|
|
Ror
|
||
|
|
Rotte
|
||
|
|
Rubin
|
||
|
|
Rude
|
||
|
|
Rum
|
||
|
|
Runde
|
||
|
|
Rust
|
||
|
|
Rute
|
||
|
|
Ryg
|
||
|
|
Rytme
|
||
|
|
Sag
|
||
|
|
Saks
|
||
|
|
Salt
|
||
|
|
Samling
|
||
|
|
Sand
|
||
|
|
Scene
|
||
|
|
Sektion
|
||
|
|
Sekund
|
||
|
|
Sensor
|
||
|
|
Serie
|
||
|
|
Service
|
||
|
|
Signal
|
||
|
|
Signatur
|
||
|
|
Silke
|
||
|
|
Situation
|
||
|
|
Sjal
|
||
|
|
Skab
|
||
|
|
Skat
|
||
|
|
Ske
|
||
|
|
Skib
|
||
|
|
Skift
|
||
|
|
Skimmel
|
||
|
|
Skinne
|
||
|
|
Skitse
|
||
|
|
Skjold
|
||
|
|
Sko
|
||
|
|
Skole
|
||
|
|
Skridt
|
||
|
|
Skrivebord
|
||
|
|
Skrue
|
||
|
|
Skum
|
||
|
|
Slange
|
||
|
|
Slave
|
||
|
|
Slim
|
||
|
|
Slot
|
||
|
|
Smed
|
||
|
|
Smerte
|
||
|
|
Smil
|
||
|
|
Smag
|
||
|
|
Sne
|
||
|
|
Snor
|
||
|
|
Software
|
||
|
|
Sok
|
||
|
|
Sol
|
||
|
|
Sort
|
||
|
|
Spil
|
||
|
|
Spiral
|
||
|
|
Spole
|
||
|
|
Sport
|
||
|
|
Sprog
|
||
|
|
Stald
|
||
|
|
Stamme
|
||
|
|
Stand
|
||
|
|
Stang
|
||
|
|
Stativ
|
||
|
|
Status
|
||
|
|
Sted
|
||
|
|
Stempel
|
||
|
|
Sten
|
||
|
|
Sti
|
||
|
|
Stige
|
||
|
|
Stil
|
||
|
|
Stilhed
|
||
|
|
Stol
|
||
|
|
Strand
|
||
|
|
Streg
|
||
|
|
Struktur
|
||
|
|
Stue
|
||
|
|
Stykke
|
||
|
|
Styr
|
||
|
|
Sukker
|
||
|
|
Support
|
||
|
|
Svar
|
||
|
|
Svend
|
||
|
|
Synd
|
||
|
|
System
|
||
|
|
Tablet
|
||
|
|
Tag
|
||
|
|
Tale
|
||
|
|
Tand
|
||
|
|
Tang
|
||
|
|
Tapet
|
||
|
|
Tast
|
||
|
|
Tavle
|
||
|
|
Tegn
|
||
|
|
Tegning
|
||
|
|
Telt
|
||
|
|
Tempel
|
||
|
|
Temperatur
|
||
|
|
Tempo
|
||
|
|
Tenant
|
||
|
|
Terminal
|
||
|
|
Termostat
|
||
|
|
Terning
|
||
|
|
Test
|
||
|
|
Tid
|
||
|
|
Tilstand
|
||
|
|
Time
|
||
|
|
Ting
|
||
|
|
Tirsdag
|
||
|
|
Titel
|
||
|
|
Tivoli
|
||
|
|
Tog
|
||
|
|
Tommel
|
||
|
|
Tone
|
||
|
|
Top
|
||
|
|
Torsdag
|
||
|
|
Trafik
|
||
|
|
Transaktion
|
||
|
|
Transport
|
||
|
|
Trekant
|
||
|
|
Trend
|
||
|
|
Trin
|
||
|
|
Tro
|
||
|
|
Trolley
|
||
|
|
Trone
|
||
|
|
Trug
|
||
|
|
Trussel
|
||
|
|
Tun
|
||
|
|
Tunnel
|
||
|
|
Tur
|
||
|
|
Tusch
|
||
|
|
Ubehag
|
||
|
|
Udbetaling
|
||
|
|
Udbytte
|
||
|
|
Uddannelse
|
||
|
|
Udfordring
|
||
|
|
Udlejning
|
||
|
|
Udsigt
|
||
|
|
Udskrift
|
||
|
|
Udsnit
|
||
|
|
Udsugning
|
||
|
|
Udvalg
|
||
|
|
Uge
|
||
|
|
Uheld
|
||
|
|
Uhyre
|
||
|
|
Ukrudt
|
||
|
|
Uland
|
||
|
|
Ulempe
|
||
|
|
Ulighed
|
||
|
|
Ulv
|
||
|
|
Ulykke
|
||
|
|
Underretning
|
||
|
|
Undervisning
|
||
|
|
Univers
|
||
|
|
Uro
|
||
|
|
Urskov
|
||
|
|
Uvidenhed
|
||
|
|
Vagt
|
||
|
|
Vakuum
|
||
|
|
Valg
|
||
|
|
Vand
|
||
|
|
Vare
|
||
|
|
Vask
|
||
|
|
Vej
|
||
|
|
Vejr
|
||
|
|
Vektor
|
||
|
|
Verdensdel
|
||
|
|
Version
|
||
|
|
Viden
|
||
|
|
Videnskab
|
||
|
|
Vind
|
||
|
|
Vindue
|
||
|
|
Visa
|
||
|
|
Vision
|
||
|
|
Vogn
|
||
|
|
Vold
|
||
|
|
Volumen
|
||
|
|
Vrede
|
||
|
|
Vulkan
|
||
|
|
Zebra
|
||
|
|
Zone
|
||
|
|
Zoo
|
||
|
|
Aktiv
|
||
|
|
Alarm
|
||
|
|
Ambition
|
||
|
|
Balance
|
||
|
|
Barriere
|
||
|
|
Biograf
|
||
|
|
Blad
|
||
|
|
Blod
|
||
|
|
Blus
|
||
|
|
Bombe
|
||
|
|
Brand
|
||
|
|
Budget
|
||
|
|
Bunker
|
||
|
|
Bus
|
||
|
|
Bytte
|
||
|
|
Campus
|
||
|
|
Center
|
||
|
|
Chance
|
||
|
|
Citat
|
||
|
|
Club
|
||
|
|
Dosis
|
||
|
|
Drama
|
||
|
|
Dronning
|
||
|
|
Eksport
|
||
|
|
Elite
|
||
|
|
Fakta
|
||
|
|
Fase
|
||
|
|
Figur
|
||
|
|
Firma
|
||
|
|
Fjord
|
||
|
|
Flirt
|
||
|
|
Flod
|
||
|
|
Flugt
|
||
|
|
Fond
|
||
|
|
Formue
|
||
|
|
Forsker
|
||
|
|
Forum
|
||
|
|
Fossil
|
||
|
|
Frihed
|
||
|
|
Fund
|
||
|
|
Fusion
|
||
|
|
Geni
|
||
|
|
Genre
|
||
|
|
Gigant
|
||
|
|
Globus
|
||
|
|
Grafik
|
||
|
|
Grotte
|
||
|
|
Guitar
|
||
|
|
Hav
|
||
|
|
Hegn
|
||
|
|
Helikopter
|
||
|
|
Helte
|
||
|
|
Honning
|
||
|
|
Hotel
|
||
|
|
Hval
|
||
|
|
Hvede
|
||
|
|
Ild
|
||
|
|
Import
|
||
|
|
Indsats
|
||
|
|
Jazz
|
||
|
|
Kabel
|
||
|
|
Kabinet
|
||
|
|
Kaktus
|
||
|
|
Kalkun
|
||
|
|
Kanin
|
||
|
|
Kanon
|
||
|
|
Kappe
|
||
|
|
Katedral
|
||
|
|
Ketchup
|
||
|
|
Kind
|
||
|
|
Kiosk
|
||
|
|
Kirke
|
||
|
|
Kiste
|
||
|
|
Kittel
|
||
|
|
Klarinet
|
||
|
|
Klode
|
||
|
|
Kobber
|
||
|
|
Kokos
|
||
|
|
Kolbe
|
||
|
|
Komet
|
||
|
|
Komfur
|
||
|
|
Konto
|
||
|
|
Koral
|
||
|
|
Kork
|
||
|
|
Korn
|
||
|
|
Kost
|
||
|
|
Krabbe
|
||
|
|
Kran
|
||
|
|
Krise
|
||
|
|
Kupon
|
||
|
|
Kurv
|
||
|
|
Lakrids
|
||
|
|
Lantern
|
||
|
|
Lektie
|
||
|
|
Lemon
|
||
|
|
Lever
|
||
|
|
Lift
|
||
|
|
Linse
|
||
|
|
Liter
|
||
|
|
Litteratur
|
||
|
|
Lokale
|
||
|
|
Lyn
|
||
|
|
Marmor
|
||
|
|
Medie
|
||
|
|
Messe
|
||
|
|
Metal
|
||
|
|
Million
|
||
|
|
Mineral
|
||
|
|
Mission
|
||
|
|
Monument
|
||
|
|
Natur
|
||
|
|
Nektar
|
||
|
|
Nerve
|
||
|
|
Nylon
|
||
|
|
Oase
|
||
|
|
Opera
|
||
|
|
Optik
|
||
|
|
Orbit
|
||
|
|
Organ
|
||
|
|
Ovn
|
||
|
|
Pap
|
||
|
|
Plastik
|
||
|
|
Rabat
|
||
|
|
Radio
|
||
|
|
Saft
|
||
|
|
Salat
|
||
|
|
Sektor
|
||
|
|
Velfaerd
|
||
|
|
Zenit
|
||
|
|
</textarea>
|
||
|
|
</div>
|
||
|
|
<div class="card">
|
||
|
|
<h2>Opsætning</h2>
|
||
|
|
<p style="font-size:.85rem;color:#666;margin-bottom:.75rem">Format: Ord1 + Ord2 + tal/symboler</p>
|
||
|
|
<label>Separator mellem ord: <input type="text" id="separator" value="" style="width:30px;padding:.3rem;border:1px solid #ccc;border-radius:4px"></label>
|
||
|
|
<label>Suffix længde: <input type="number" id="suffixLen" value="5" min="1" max="10"></label>
|
||
|
|
<label>Antal koder: <input type="number" id="count" value="3" min="1" max="20"></label>
|
||
|
|
<div class="controls">
|
||
|
|
<button class="btn-primary" onclick="generate()">Generer</button>
|
||
|
|
<button class="btn-secondary" onclick="copy()">Kopiér</button>
|
||
|
|
<button class="btn-secondary" onclick="clearOutput()">Ryd</button>
|
||
|
|
</div>
|
||
|
|
<div class="info" id="status"></div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<textarea id="output" placeholder="Genererede koder vises her..." readonly></textarea>
|
||
|
|
</div>
|
||
|
|
<script>
|
||
|
|
const SYMB = '!@#$%&*+-=?0123456789';
|
||
|
|
function rand(n) { return Math.floor(Math.random() * n); }
|
||
|
|
|
||
|
|
function randomSuffix(len) {
|
||
|
|
let r = '';
|
||
|
|
for (let i = 0; i < len; i++) r += SYMB[rand(SYMB.length)];
|
||
|
|
return r;
|
||
|
|
}
|
||
|
|
|
||
|
|
function generate() {
|
||
|
|
const words = document.getElementById('words').value.split('\n').map(w => w.trim()).filter(w => w);
|
||
|
|
const suffixLen = parseInt(document.getElementById('suffixLen').value) || 5;
|
||
|
|
const count = parseInt(document.getElementById('count').value) || 3;
|
||
|
|
const sep = document.getElementById('separator').value;
|
||
|
|
const output = document.getElementById('output');
|
||
|
|
|
||
|
|
if (!words.length) { output.value = 'Tilføj mindst ét ord i ordbogen.'; return; }
|
||
|
|
if (words.length < 2) { output.value = 'Brug mindst 2 ord i ordbogen.'; return; }
|
||
|
|
|
||
|
|
const codes = [];
|
||
|
|
for (let i = 0; i < count; i++) {
|
||
|
|
let w1, w2;
|
||
|
|
do { w1 = words[rand(words.length)]; w2 = words[rand(words.length)]; } while (w1 === w2);
|
||
|
|
const suffix = randomSuffix(suffixLen);
|
||
|
|
codes.push(w1 + sep + w2 + suffix);
|
||
|
|
}
|
||
|
|
|
||
|
|
output.value = codes.join('\n');
|
||
|
|
document.getElementById('status').textContent = `Genereret ${count} koder`;
|
||
|
|
}
|
||
|
|
|
||
|
|
function copy() {
|
||
|
|
const el = document.getElementById('output');
|
||
|
|
if (!el.value) return;
|
||
|
|
navigator.clipboard.writeText(el.value).then(() => {
|
||
|
|
document.getElementById('status').textContent = 'Kopieret til udklipsholder';
|
||
|
|
}).catch(() => {
|
||
|
|
el.select();
|
||
|
|
document.execCommand('copy');
|
||
|
|
document.getElementById('status').textContent = 'Kopieret';
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
function clearOutput() {
|
||
|
|
document.getElementById('output').value = '';
|
||
|
|
document.getElementById('status').textContent = '';
|
||
|
|
}
|
||
|
|
</script>
|
||
|
|
</body>
|
||
|
|
</html>
|