Validatore UUID
Il validatore del formato UUID controlla che un valore rispetti la rappresentazione UUID standard di 36 caratteri con trattini e spiega con precisione perché un dato non valido viene rifiutato.
Esegui gratis nel browser
Se il controllo riesce, restituisce la forma canonica normalizzata in minuscolo, la variante codificata nei bit della sequenza di clock e la versione registrata nell’UUID. Accetta lettere esadecimali maiuscole e minuscole, senza tollerare automaticamente parentesi graffe, stringhe compatte, separatori fuori posizione o caratteri non esadecimali.
Che cosa controlla questo validatore UUID
Un UUID contiene 128 bit, ma persone e sistemi normalmente lo scambiano come 36 caratteri visibili organizzati in cinque gruppi: otto caratteri esadecimali, poi quattro, quattro, quattro e dodici, separati da trattini. Questo validatore controlla esattamente tale rappresentazione. Verifica la lunghezza complessiva, conferma che ogni separatore si trovi nella posizione corretta e rifiuta qualsiasi carattere diverso da una cifra esadecimale o un trattino. Le lettere esadecimali possono essere maiuscole o minuscole, perché il tipo di carattere non modifica i bit sottostanti. Spazi, parentesi graffe, prefissi URN, valori compatti di 32 caratteri e punteggiatura finale non vengono rimossi di nascosto. Questa delimitazione rigorosa è utile quando Lei verifica il contratto di un’API o di un campo del database: il dato corrisponde alla forma UUID documentata oppure riceve una motivazione che individua il problema strutturale. Una risposta positiva contiene valid impostato su vero e fornisce un valore canonico in minuscolo, utilizzabile per confronti stabili, chiavi della cache, fixture e registri. La convalida è deterministica: non consulta registri esterni, non genera un sostituto e non afferma che l’UUID esista in altri sistemi.
Come vengono decodificate variante e versione
I metadati di un UUID sono codificati nell’identificatore stesso e non vengono cercati altrove. La versione è la cifra esadecimale all’inizio del terzo gruppo: il validatore la converte in un numero intero da 0 a 15 e la restituisce direttamente. Tra le versioni assegnate più comuni vi sono la versione 1 basata sul tempo, le versioni 3 e 5 basate sul nome, la versione 4 casuale, la versione 6 con tempo riordinato, la versione 7 con tempo Unix e la versione 8 personalizzata. La variante deriva dai bit iniziali del quarto gruppo. Un bit iniziale zero viene indicato come ncs; lo schema 10 come rfc_4122, la famiglia utilizzata dai moderni formati UUID; 110 come microsoft; e 111 come future. Descrivere i bit è diverso dall’imporre un profilo applicativo. Un UUID strutturalmente corretto può contenere una versione riservata o una variante storica. Lo strumento descrive quindi ciò che il valore codifica, senza sostenere che ogni UUID ben formato debba appartenere alla versione 4. La Sua applicazione potrà poi applicare la propria politica ai campi restituiti.
Canonizzazione, errori e impiego pratico
La canonizzazione modifica soltanto maiuscole e minuscole delle lettere esadecimali: i cinque gruppi e tutte le cifre restano intatti, mentre le lettere da A a F diventano minuscole. Due grafie accettate dello stesso valore a 128 bit producono così la medesima stringa canonica. Il validatore non elimina gli spazi e non corregge un valore quasi valido, perché una pulizia automatica potrebbe nascondere un confine di serializzazione difettoso. Un valore vuoto, un dato che non sia una stringa, un numero errato di caratteri, trattini spostati o caratteri vietati generano invece messaggi esplicativi distinti. Questo comportamento rende la capacità adatta a controlli di importazione, diagnostica dei moduli, fixture di test e strumenti di assistenza nei quali la causa conta quanto l’esito positivo o negativo. Invii il valore candidato nel campo text; per comodità di integrazione sono accettati anche gli alias uuid e value. L’operazione costa $0.002 per elemento tramite API e funziona senza rete, casualità, orologio, modello o archiviazione persistente. Controlla soltanto sintassi e metadati incorporati; non determina unicità, proprietà, presenza nel database, qualità di generazione o idoneità a uno specifico protocollo.
Casi d'uso
Protegga l’ingresso di un’API
Rifiuti i parametri di percorso non validi prima della query al database e conservi un identificatore canonico per i confronti successivi.
Analizzi gli identificatori importati
Individui lunghezze, separatori o caratteri errati nei file CSV e nelle migrazioni grazie a una spiegazione utilizzabile dagli sviluppatori.
Esamini i metadati UUID
Confermi variante e versione codificate quando verifica che i produttori rispettino la politica degli identificatori dell’applicazione.
Domande frequenti
Quali formati testuali UUID sono accettati?
È accettata la forma standard di 36 caratteri in gruppi 8-4-4-4-12 con trattini, usando lettere esadecimali maiuscole o minuscole.
Sono accettati parentesi graffe, prefissi URN o UUID compatti?
No. Queste rappresentazioni vengono rifiutate affinché l’integrazione possa imporre un unico contratto testuale privo di ambiguità.
Che cosa significa forma canonica in questo contesto?
È lo stesso UUID nel raggruppamento standard con trattini, con tutte le lettere esadecimali convertite in minuscolo.
Un risultato valido prova che l’UUID esiste o è univoco?
No. Dimostra solo che la stringa è strutturalmente ben formata e riporta i metadati codificati nei suoi bit.
Quanto costa la convalida?
Ogni elemento elaborato dall’API costa $0.002. Il validatore deterministico non effettua richieste di rete e funziona anche nel browser.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/dev/uuid-validate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"550E8400-E29B-41D4-A716-446655440000"}'const res = await fetch("https://api.kit.forhosting.com/dev/uuid-validate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "550E8400-E29B-41D4-A716-446655440000"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/uuid-validate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "550E8400-E29B-41D4-A716-446655440000"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/uuid-validate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"550E8400-E29B-41D4-A716-446655440000"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"550E8400-E29B-41D4-A716-446655440000"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/uuid-validate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "550E8400-E29B-41D4-A716-446655440000"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.uuid_validate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |