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 № 1Use 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"));