Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/05/2009, 19:09
Avatar de JairLizcano
JairLizcano
 
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Pregunta Expresión regular.

He dado con lo siguiente para hacer control de las diferentes entradas de los usuarios.

Expresion regulares, y para ello he intentado indicar simplemente que el usuario sólo pueda ingresar letras de a-z,A-Z, espacio y vocales acentuadas.

Pero he estado algo confundido:

Código PHP:
public function nombres($arg){

$patron='/^[[:alpha:]]+$/';
if(
preg_match($patron,$arg)){
$this->nombre=$arg;
}else{echo 
$arg.', no es un nombre válido, sólo se permiten carácteres a-z y A-Z, y letras acentuadas.';}

Indico paso por paso, / es estructura basica para indicar el patron, el ^ indica el inicio de la busqueda del patron, [[:alpha:]] indica cualquier letra (incluidas vocales acentuadas, ñ, ç, etc), el signo + (no tengo idea realmente del uso de el), y el signo $ indica el final del patron, en conclusión le estare diciendo que busque en toda la "palabra" dicho patron.

Problemas.

¿Para que el uso del signo +?.
He ingresado igualmente una caracter de la forma é,í,...,etc y este me muestra la condicion contraria.
¿Cómo añadiria el espacio a dicho patron?.

Pueden ser preguntas algo obvias, pero no he encontrado información sobre esta misma, lo que he encontrado es lo siguiente y se basa en compatibilidad con perl.

Expresiones regulares.

¡Saludos y gracias!.