Validazione e Sicurezza Base Aggiornato: 21/08/2026

Token JWT (JSON Web Token)

Valida la struttura a tre parti codificate in Base64URL separate da due punti di un JSON Web Token.

Risposta diretta

A cosa serve e come si usa questa regex?

Valida la struttura a tre parti codificate in Base64URL separate da due punti di un JSON Web Token.

Espressione Regolare (Pattern)

Flag consigliati: nessuno · Motori compatibili: JavaScript, PCRE/PHP, Python, Go, .NET
Testa
^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$

Integrazione nel codice

Snippet pronti all'uso
// JavaScript (ES6+)
const regex = /^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/;
const isValid = regex.test(text);

// Estrazione match
const matches = text.match(regex);
<?php
// PHP 8.2+ (PCRE)
$pattern = '~^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$~';
$isValid = (bool) preg_match($pattern, $text);

// Estrazione con gruppi
if (preg_match($pattern, $text, $matches)) {
    print_r($matches);
}
# Python 3 (re)
import re

pattern = r"^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$"
is_valid = bool(re.search(pattern, text))

# Estrazione match
match = re.search(pattern, text)
if match:
    print(match.group(0))
// Go (regexp)
package main

import (
	"fmt"
	"regexp"
)

func main() {
	re := regexp.MustCompile(`^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$`)
	isValid := re.MatchString(text)
	fmt.Println(isValid)
}
// C# (.NET)
using System;
using System.Text.RegularExpressions;

bool isValid = Regex.IsMatch(text, @"^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$");

Come funziona (Spiegazione dettagliata)

  1. La prima parte rappresenta l’Header Base64URL.
  2. La seconda parte rappresenta il Payload (Claims).
  3. La terza parte rappresenta la Firma crittografica (Signature).

Casi d’uso consigliati

  • Header di autenticazione HTTP `Authorization: Bearer <token>`
  • Middleware API per la convalida preliminare dei token prima del decode crittografico
  • Sanity check su token di sessione OAuth2 e OpenID Connect

Esempi che corrispondono (Validi)

2 test passati
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhdXRoMCJ9.signature_part_abc123

Esempi rifiutati (Non validi)

3 test respinti
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0
token-non-valido-senza-punti
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.firma.extra

Limiti tecnici e avvertenze

  • Verifica solo la forma sintattica: per convalidare l’integrità e la scadenza del token verificare sempre la firma con la chiave segreta (HMAC) o pubblica (RSA/ECDSA) del provider.
Verifica empirica

Hai bisogno di collaudare questo pattern con i tuoi dati?

Apri il tester sandboxato con questa regex già caricata e verifica i gruppi di cattura.

Apri nel tester