PHP - Validación PHP mayúsculas y espacios

 
Vista:

Validación PHP mayúsculas y espacios

Publicado por Daniel (15 intervenciones) el 13/02/2021 14:09:32
Hola, tengo una base de datos con un campo donde se deben guardar los dos nombres de los usuarios del sistema con letras mayúsculas, ya he colocado las verificaciones en html para que el input solo reciba letras mayùsculas y espacios (un espacio para separar ambos nombres) y ahora quiero colocar las verificaciones/validaciones del lado del servidor con php. Suponiendo que ya estoy en el punto en que a través del método POST he recibido la variable $nombres que por ejemplo contiene "PEDRO JOSE" puedo utilizar ctype_upper($nombres) para averiguar si solo se están ingresando letras mayúsculas, al hacerlo el resultado serìa FALSE porque el espacio no es letra mayúscula (pero es necesario que esté presente para separar ambos nombres). Lo otro que había pensado sería , así mismo, luego de recibir la variable con el método POST convertir la cadena a mayùsculas con strtouppper($nombre), esto funcionaría pero no me garantizaría que se ingresaron solo letras mayùsculas y un espacio ya que podrían pasar también caracteres especiales. Quería preguntarles si alguien conoce alguna función que como en este caso permita ingresar los dos nombres con mayúsculas, aceptando el espacio y sin números o caracteres especiales, o necesariamente ya me tocaría crear algún algoritmo ajustado a la necesidad probablemente separando los nombres evaluándolos y volviéndolos a concatenar.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 393
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Validación PHP mayúsculas y espacios

Publicado por Jefferson (203 intervenciones) el 14/02/2021 05:40:22
No creo exista tal función específica en php.

Pero te puedes crear la tuya rapidito
Con solo usar explode

Algo como

1
2
3
4
5
6
7
8
9
function comprueba($nombres){
$i=-1;
list($nombre1,$nombre2) = explode(" ", $nombres);
if (!empty($nombre1)){
if (ctype_upper($nombre1)) $i++;
if (ctype_upper($nombre2)) $i++;
}else{$i++;}
return $i;
}

Nota: La escribí desde mi teléfono, así que no la probé. En teoría debería funcionar... solo debes pulirla con con más controles de errores y listo. Por ahí son los tiros

Saludos desde Venezuela
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Validación PHP mayúsculas y espacios

Publicado por Daniel (15 intervenciones) el 14/02/2021 13:39:46
Gracias Jefferson
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Validación PHP mayúsculas y espacios

Publicado por Mauro (1037 intervenciones) el 15/02/2021 19:26:55
Hola Daniel, ¿una expresión regular no te serviría? Tal vez combinándola con filter_var
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar