/ / preg_match validación de usuario - php, regex

validación de usuario preg_match - php, regex

Estoy tratando de hacer un preg_match regla para la validación del usuario

permitir solo a-z - A-Z - 0-9 y los caracteres _- =?! @:., sin espacios

Ya probé muchas combinaciones pero nadie parece funcionar

Esto es lo que estoy tratando de conseguir:

    if(preg_match("idk what to use here", "Myusername@123?")) {
return true;
}

if(preg_match("idk what to use here", "$Hello")) {
return false;
}

if(preg_match("idk what to use here", "Hello 123")) {
return false;
}

¿Alguien sabe la expresión regular para esto? Gracias :)

Respuestas

0 para la respuesta № 1

Use una clase, pero asegúrese de escapar del guión o de ponerlo como último carácter, de lo contrario significa un rango. Utilizar ^ y $ para requerir que todos los caracteres de entrada coincidan con el patrón:

$regex = "/^[A-Za-z0-9_=?!@:.,-]*$/";

var_dump(preg_match($regex, "Myusername@123?"));
var_dump(preg_match($regex, "$Hello"));
var_dump(preg_match($regex, "Hello 123"));