Validare la notazione algebrica degli scacchi
Nbd2+ è scritta correttamente: un cavallo della colonna b va in d2 e dà scacco. Inserisca una mossa per confermare che segue la notazione algebrica standard e vedere pezzo, casa di arrivo, cattura, scacco o promozione. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Notazione
- Nbd2+
- Tipo di mossa
- piece
- Pezzo
- N
- Destinazione
- d2
- Colonna di origine
- b
Questo validatore controlla se una mossa rispetta la sintassi della Notazione Algebrica Standard, nota come SAN. Riconosce mosse di pedoni e pezzi, catture, disambiguazione dell'origine, promozione, arrocco, scacco e scacco matto. La verifica è volutamente sintattica: non richiede una posizione sulla scacchiera e non afferma che la mossa sia legale in una partita specifica. Lo utilizzi per individuare stringhe malformate prima di archiviare, importare, mostrare o elaborare dati scacchistici.
Quali forme riconosce il validatore
La Notazione Algebrica Standard racchiude una mossa in una stringa breve e strutturata. Una mossa di pezzo inizia con K, Q, R, B o N maiuscola, seguita facoltativamente dalla disambiguazione dell'origine, dal simbolo di cattura e da una casa di arrivo come e4 o h8. Le mosse di pedone omettono la lettera: e4 è un avanzamento semplice, mentre exd5 indica un pedone della colonna e che cattura in d5.
La promozione aggiunge il segno uguale e Q, R, B o N, come in e8=Q o fxg8=N. Sono accettati anche O-O e O-O-O per arrocco corto e lungo. Un più finale segnala lo scacco; un cancelletto finale, lo scacco matto.
Maiuscole e minuscole hanno significati distinti. Il risultato descrive categoria, destinazione, cattura, scacco o matto e include gli eventuali dati di origine o promozione presenti.
Controllare la sintassi non significa provare la legalità
Lo strumento risponde a una domanda circoscritta: la stringa ha la forma di una mossa SAN? Non riceve scacchiera, cronologia, giocatore di turno, diritti di arrocco o stato dell'en passant, quindi non può stabilire se un pezzo raggiunga davvero la casa indicata. Per esempio, Nf3 è sintatticamente valido anche se in una certa posizione nessun cavallo può arrivare in f3.
Analogamente, un simbolo di scacco nella posizione corretta viene accettato senza dimostrare che il re avversario sia sotto attacco. Separare i due controlli è utile nelle importazioni, perché un errore di scrittura e una mossa vietata richiedono risposte diverse. Una destinazione incompleta, una lettera minuscola, una cattura fuori posto, una colonna non valida o un suffisso sconosciuto vengono respinti senza ricostruire la partita.
Dopo la convalida, Lei può usare un motore con la posizione per verificare la legalità. valid conferma soltanto la struttura.
Casi d'uso
Ripulire una colonna di mosse importate
Respinga le stringhe SAN errate prima di inserirle in un database o in un analizzatore di partite.
Convalidare un campo del modulo
Offra un riscontro immediato e coerente quando un giocatore o un redattore invia una mossa.
Controllare contenuti scacchistici generati
Verifichi la sintassi delle mosse prodotte da lezioni, problemi, rapporti o strumenti deterministici.
Domande frequenti
Un risultato valido significa che la mossa è legale?
No. Conferma soltanto la sintassi SAN. Per la legalità servono posizione, cronologia e un motore di regole.
Quali lettere dei pezzi sono accettate?
Sono accettate K, Q, R, B e N maiuscole. In SAN i pedoni non hanno una lettera iniziale.
Sono supportati catture, scacchi e matti?
Sì. Usi x per la cattura, + per lo scacco e # per il matto nelle rispettive posizioni SAN.
Riconosce arrocco e promozione?
Sì. Accetta O-O, O-O-O e le promozioni di pedone con =Q, =R, =B o =N.
Rimuove gli spazi attorno alla mossa?
No. Gli spazi esterni rendono l'input malformato, così i problemi di pulizia rimangono visibili.
Strumenti correlati
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/game/chess-algebraic-validate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"notation":"Nbd2+"}'const res = await fetch("https://api.kit.forhosting.com/game/chess-algebraic-validate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"notation": "Nbd2+"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/game/chess-algebraic-validate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"notation": "Nbd2+"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/game/chess-algebraic-validate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"notation":"Nbd2+"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"notation":"Nbd2+"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/game/chess-algebraic-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
{
"notation": "Nbd2+"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "game.chess_algebraic_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. |
Note tecniche
Usare il risultato nelle applicazioni e nei flussi di dati
Invii esattamente una stringa nel campo notation. Gli spazi iniziali o finali vengono rifiutati, anziché rimossi in silenzio, così i dati sporchi restano visibili nelle colonne e nelle importazioni riga per riga. Una risposta riuscita conserva il testo originale e offre campi stabili che il software può leggere senza analizzare nuovamente SAN. move_type distingue pedone, pezzo e arrocco. Le mosse di pezzo riportano lettera SAN e destinazione; i pedoni sono rappresentati da P. capture è sempre booleano, mentre origin_file, origin_rank, promotion e il lato dell'arrocco compaiono solo se pertinenti. check e mate sono booleani separati. Un valore malformato genera invalid_input invece di valid impostato su false, così può interrompere un'importazione o evidenziare il campo. L'algoritmo è deterministico, non usa la rete e restituisce lo stesso risultato nel browser e tramite API. L'uso interattivo è gratuito; l'automazione costa $0.002 per richiesta.
Domande tecniche
Quanto costa la convalida tramite API?
Ogni richiesta API costa $0.002. La versione per browser disponibile qui è gratuita.