Foros del Web » Programando para Internet » PHP »

problemas ereg

Estas en el tema de problemas ereg en el foro de PHP en Foros del Web. buenas estoy intentando hacer un ejercicio que me pide que haga una serie de validaciones de una cadena ( 2 primeros caracteres deben ser letras ...
  #1 (permalink)  
Antiguo 19/11/2012, 02:46
 
Fecha de Ingreso: diciembre-2010
Mensajes: 166
Antigüedad: 13 años, 3 meses
Puntos: 0
problemas ereg

buenas estoy intentando hacer un ejercicio que me pide que haga una serie de validaciones de una cadena ( 2 primeros caracteres deben ser letras minusculas, despues los 5 siguiesnte numeros y los 2 ultimos caracteres en mayuscula)

de momento tengo esto:
Código:
?php

	if(!isset($_POST["nombre"])) {
	
	?>
	
	<html>
		<head>
		<title> validacion </title>
		</head>
		
		<body>
		<form action="validacion.php" method="post">
		<input type="text" name="nombre">
		<input type="submit" value="validar">
		<input type="reset" value="borrar">
		</form>
		</body>
	</html>
	
	<?php
		} else {
		
		$primera = substr($_POST["nombre"],0,2);
		echo "$primera <BR>";
		$segunda =substr($_POST["nombre"],2,5);
		echo "$segunda <BR>";
		$tercera =substr($_POST["nombre"],7,2);
		echo $tercera ;
		
		if(ereg("[a-z]",$primera)) {
			echo "todo ok";
		}
		}
si no pongo letras en el campo me funciona ok, pero si mezclo letras y numeros me lo marca como correcto, que falla?
  #2 (permalink)  
Antiguo 19/11/2012, 09:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problemas ereg

La expresión regular que usas no tiene limites, quiere decir que siempre va a dar verdadero mientras tenga una letra sin importar donde.

Deberías estudiar una guía de expresiones regulares, para que comprendas los limites de las mismas, además no necesitas hacer varias comprobaciones con una sola expresión debe bastar.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: ereg, html
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 11:52.