Validare un colore esadecimale
Il validatore di colori esadecimali fornisce una risposta diretta e deterministica per i codici usati in CSS, token di design, temi, file di configurazione e markup generato.
Esegui gratis nel browser
Accetta i formati standard da tre, quattro, sei e otto cifre, con o senza cancelletto iniziale, e controlla ogni carattere senza intuire o correggere il valore. Il risultato booleano è semplice da usare in moduli, test, importazioni e flussi API. Campi mancanti e tipi errati producono errori chiari, così Lei non confonde mai una richiesta malformata con una richiesta corretta che contiene un colore non valido.
Quando un colore esadecimale è valido
Un colore esadecimale valido contiene esattamente tre, quattro, sei oppure otto cifre esadecimali. Tre cifre indicano RGB abbreviato, quattro RGBA abbreviato con alfa, sei RGB completo e otto RGBA completo. Il cancelletto iniziale è facoltativo, perché CSS, database, strumenti di design e configurazioni non archiviano sempre il prefisso nello stesso modo. Dopo l’eventuale prefisso, ogni carattere deve essere una cifra ASCII da 0 a 9 oppure una lettera da A a F, maiuscola o minuscola. Il controllo non accetta spazi, punteggiatura, segni, cancelletti ripetuti, nomi di colori, funzioni CSS o lunghezze diverse. Inoltre non elimina gli spazi dall’input. Questa scelta rigorosa rende visibili gli spazi nascosti ed evita che venga approvato silenziosamente un valore diverso dalla sorgente memorizzata. Il booleano <code>valid</code> descrive quindi esattamente la stringa fornita da Lei.
Perché la verifica deterministica è utile
La verifica di un colore è piccola, ma regole incoerenti generano difetti persistenti. Un browser può rifiutare un formato, una libreria normalizzarne un altro e un’espressione regolare artigianale può dimenticare l’alfa abbreviato o consentire per errore cinque cifre. Questa capacità applica una regola esplicita: rimuove un solo cancelletto facoltativo, conferma che la lunghezza restante sia una delle quattro ammesse e controlla che ogni carattere appartenga all’alfabeto esadecimale. Non usa rete, casualità, data, impostazioni locali, conversione tra maiuscole e minuscole o interpretazione dello spazio colore. Lo stesso input genera quindi lo stesso booleano nel widget e tramite API. Le stringhe di colore errate restituiscono normalmente <code>false</code>; non sono richieste eccezionali. Un campo assente o un numero, elenco od oggetto al posto di una stringa produce invece un errore chiaro. La Sua applicazione può distinguere un colore errato da un’integrazione guasta.
Uso del risultato in moduli e pipeline
Usi il validatore appena prima che un colore superi un confine di attendibilità. In un modulo, lo esegua quando cambia il campo o prima dell’invio e mostri un messaggio preciso quando <code>valid</code> è falso. Nell’importazione di token, verifichi ogni valore prima di generare CSS, così un token malformato non invalida un foglio di stile e non si propaga in un tema. In una pipeline conservi la stringa originale accanto al booleano se serve una traccia di controllo; non sostituisca la sorgente con un valore normalizzato, perché questa capacità verifica e non trasforma. Se occorre espandere, convertire o estrarre canali, verifichi prima e invii poi i valori approvati alla capacità appropriata. Il browser è adatto ai controlli interattivi, mentre l’API costa $0.002 per richiesta. La risposta stabile entra direttamente nella logica condizionale e nei test di limiti, simboli non validi, prefissi aggiuntivi, stringhe vuote e spazi.
Casi d'uso
Controllare un campo colore
Confermi un formato RGB o RGBA ammesso prima di salvare una preferenza del tema.
Verificare token di design
Rifiuti colori malformati prima di convertire i token in variabili CSS o costanti applicative.
Proteggere gli stili generati
Controlli colori esterni prima di inserirli in fogli di stile o configurazioni dei componenti.
Domande frequenti
Quali lunghezze sono valide?
Esattamente 3, 4, 6 oppure 8 cifre esadecimali, escluso il cancelletto iniziale facoltativo.
Il cancelletto iniziale è obbligatorio?
No. Sia #336699 sia 336699 sono rappresentazioni valide per questo controllo.
Sono accettate le lettere maiuscole?
Sì. Le lettere esadecimali da A a F sono accettate in maiuscolo e minuscolo.
Il validatore elimina gli spazi?
No. Gli spazi iniziali o finali rendono il colore non valido e rivelano errori di formato.
Quanto costa?
L’API costa $0.002 per richiesta e lo stesso controllo deterministico può essere eseguito nel Suo 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/color/is-valid-hex \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"#336699cc"}'const res = await fetch("https://api.kit.forhosting.com/color/is-valid-hex", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "#336699cc"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/is-valid-hex",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "#336699cc"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/is-valid-hex", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"#336699cc"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"#336699cc"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/is-valid-hex", 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": "#336699cc"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.is_valid_hex",
"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. |