Foros del Web » Programando para Internet » PHP »

regexp validar campo que tenga solo car. alfabeticos

Estas en el tema de regexp validar campo que tenga solo car. alfabeticos en el foro de PHP en Foros del Web. hola, necesito validar una serie de campos, dir de emails, etc, etc, pero lo que me interesa ahora es validar el campo de un nombre, ...
  #1 (permalink)  
Antiguo 09/03/2003, 19:19
Avatar de sci-fi  
Fecha de Ingreso: marzo-2002
Mensajes: 157
Antigüedad: 22 años, 1 mes
Puntos: 0
regexp validar campo que tenga solo car. alfabeticos

hola,

necesito validar una serie de campos, dir de emails, etc, etc, pero lo que me interesa ahora es validar el campo de un nombre, por ser el que mas caracteres permite y por lo tanto un problema de seguridad...

lo que quiero hacer es chequear que contenga solamente letras, no números ni otro tipo de caracter, y que tenga dos palabras o más separadas por un espacio; y que no exceda 25 caracteres, pero eso es aparte.

lo que hago es:

if (ereg("^[a-zA-Z^0-9]+[[:space:]][a-zA-Z^0-9]+([[:space:]][a-zA-Z^0-9])*", $cad) && strlen($cad) < 26)

pero esto no me chequea que contenga solamente letras, lo he testeado y puedo poner números o cualquier otro caracter en el campo que no me lo detecta.

para chequear por caracteres raros probe con algo medio estrafalario que no me funciono:
if (ereg("^[^\!\_\-\(\) etc etc etc]", $cad) etc)

busque y busque en todos los links que encontre, pero no parezco encontrar un ejemplo concreto de lo que necesito...

desde ya muchas gracias,

saludos
__________________
webdeveloper
http://www.javascripters.com.ar/
diseño web y tecnología
  #2 (permalink)  
Antiguo 09/03/2003, 20:26
 
Fecha de Ingreso: mayo-2002
Ubicación: Mendoza ebria y montañosa
Mensajes: 165
Antigüedad: 21 años, 10 meses
Puntos: 0
creo que esto puede andar...

hola sci-fi, mira esto te puede servir, no lo he probado pero fijate, que no perdes nada...

Código PHP:
// Permite saber si campo_form esta comprendido unicamente por letras
$ok=eregi("^[a-z ñ]*$",$_POST['campo_form']);
if ( 
$ok ){
  
//tu codigo

espero te sirva!
un saludo!
__________________
chapu
  #3 (permalink)  
Antiguo 09/03/2003, 23:47
Avatar de sci-fi  
Fecha de Ingreso: marzo-2002
Mensajes: 157
Antigüedad: 22 años, 1 mes
Puntos: 0
hola chapu,

bárrrbaro, funciona a las mil maravillas!!

gracias chapu, me sacó de horas sin poder hacer ese chequeo

lo único que me faltaría es chequear que el nombre tenga, por lo menos, dos palabras separadas por un solo espacio, y posiblemente más de dos palabras si el usuario pone el segundo nombre o el apellido es más de una palabra, pero eso creo que es medianamente fácil, cuando lo encuentre, lo posteo...

saludos, y grrrracias!!
__________________
webdeveloper
http://www.javascripters.com.ar/
diseño web y tecnología
  #4 (permalink)  
Antiguo 10/03/2003, 17:12
Avatar de sci-fi  
Fecha de Ingreso: marzo-2002
Mensajes: 157
Antigüedad: 22 años, 1 mes
Puntos: 0
ésta sería la forma para validar un nombre propio con dos o más palabras separadas por espacio (se limita con un "maxlength=x" como atributo en el campo y chequeando que no tenga mas de X caracteres si uno quiere limitar la cantidad de caracteres entrados con strlen() ):

eregi("^[a-z ñ]+ [a-z ñ]*$", $cad)

no admite ningún caracter no alfábetico en ninguna parte; solamente permite más de un espacio en blanco entre palabras, pero uno lo recibe con no mas de dos espacios entre palabras en la variable...

gracias de nuevo
__________________
webdeveloper
http://www.javascripters.com.ar/
diseño web y tecnología
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:56.