Listo (Ctrl + Enter para ejecutar) Bootcamp Fullstack »
ejemplo.php
Tab = 4 espacios
1
<?php
// Regla: 3 a 16 caracteres, solo letras, números y guion bajo (\w)
// Iniciando con letra obligatoria [a-zA-Z]
$patronUsername = '/^[a-zA-Z]\w{2,15}$/';

$pruebas = [
    'carlos_dev',      // Válido (10 caracteres, letras y guion bajo)
    'valeria2026',     // Válido (11 caracteres)
    'a_b',             // Válido (3 caracteres exactos)
    '99problemas',     // Inválido (no inicia con letra)
    'juan perez',      // Inválido (contiene espacio)
    'super_califragilistico_espialidoso', // Inválido (supera 16 caracteres)
    'dev@kilopolis',   // Inválido (contiene arroba)
];

echo "<div style='font-family:system-ui; max-width:620px; padding:15px;'>";
echo "<h3 style='color:#0f172a; margin-top:0;'>👤 Validador de Usernames con \\w</h3>";
echo "<p style='color:#64748b; font-size:13px;'>Patrón: <code>^[a-zA-Z]\\w{2,15}$</code> (inicia con letra + caracteres de palabra)</p>";

foreach ($pruebas as $username) {
    $esValido = preg_match($patronUsername, $username) === 1;

    $colorFondo = $esValido ? '#ecfdf5' : '#fef2f2';
    $colorBorde = $esValido ? '#10b981' : '#ef4444';
    $icono = $esValido ? '✅' : '❌';
    $mensaje = $esValido ? 'NOMBRE VÁLIDO' : 'RECHAZADO POR POLÍTICA';

    echo "<div style='display:flex; justify-content:space-between; align-items:center; background:$colorFondo; border:1px solid $colorBorde; border-radius:6px; padding:10px 14px; margin-bottom:8px;'>";
    echo "  <div>";
    echo "    <strong style='font-family:monospace; font-size:15px; color:#1e293b;'>$username</strong>";
    echo "    <span style='color:#64748b; font-size:12px; margin-left:8px;'>(" . strlen($username) . " chars)</span>";
    echo "  </div>";
    echo "  <span style='color:$colorBorde; font-weight:bold; font-size:12px;'>$icono $mensaje</span>";
    echo "</div>";
}

echo "</div>";
Haz clic para editar este código
Vista Previa
Servidor PHP 8.3