Foros del Web » Programando para Internet » PHP »

no permitir registro si no empieza por un tipo de caracteres...

Estas en el tema de no permitir registro si no empieza por un tipo de caracteres... en el foro de PHP en Foros del Web. Hola, estoy intentando hacer un sistema de registro, bien hay un cuadro de texto (llamado numero) el cual solo me gustaria que se escribiesen numeros ...
  #1 (permalink)  
Antiguo 23/12/2003, 15:57
 
Fecha de Ingreso: febrero-2003
Mensajes: 753
Antigüedad: 14 años, 10 meses
Puntos: 2
no permitir registro si no empieza por un tipo de caracteres...

Hola, estoy intentando hacer un sistema de registro, bien hay un cuadro de texto (llamado numero) el cual solo me gustaria que se escribiesen numeros con una serie de normas:

Seria un cuadro de texto el cual no se puede escribir ni mas ni menos que 9 caracteres, ni 8 ni 10 solo estaria bien si fuesen 9 caracteres. Solo carecteres numericos. Y lo mas importante los primeros 3 numeros solo pueden ser 625 y 655

Por ejemplo este es el cuadro de texto:
[625000000] seria un numero valido
[624000000] no seria un numero valido
[62500000_] no seria un numero valido

Supongo que se puede hacer por javascript pero se podria burlar, ¿se podria hacer por php?

un saludo, espero sus respuestas.
  #2 (permalink)  
Antiguo 23/12/2003, 16:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Claro .. se puede hace en PHP.

Desde funciones como is_numeric() .. junto con strlen() y substr().
Hasta expresiones regulares con su patrón correspondiente.

Un salduo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 23/12/2003, 16:33
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Puedes usar funciones como strlen() (www.php.net/strlen), substr() (www.php.net/substr) y is_int() (www.php.net/is_int) para cada una de las condiciones.

O puedes usar expresiones regulares y hacer algo como:
Código PHP:
if (ereg("^(625|655)([0-9]{6})$",$cadena))  {
  echo 
"valido: $cadena";
} else {
  echo 
"no valido: $cadena";

Mas info www.php.net/ereg

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 23/12/2003, 17:20
 
Fecha de Ingreso: febrero-2003
Mensajes: 753
Antigüedad: 14 años, 10 meses
Puntos: 2
Y como podriamos adaptar el codigo para un cuadro de texto llamado "numero"

¿Algo asi?

<input type="text" name="numero" value="$cadena"

if (ereg("^(625|655)([0-9]{6})$",$cadena)) {
echo "valido: $cadena";
} else {
echo "no valido: $cadena";
}

Gracias, por sus respuesta. Un Saludo
  #5 (permalink)  
Antiguo 24/12/2003, 06:12
 
Fecha de Ingreso: febrero-2003
Mensajes: 753
Antigüedad: 14 años, 10 meses
Puntos: 2
¿como podria quedar el codigo con un cuadro de texto con su formulario?

un saludo
  #6 (permalink)  
Antiguo 24/12/2003, 06:18
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
No entiendo. Tu en tu formulario tendrias:

<input type="text" name="numero" value="">

y en el script del action de tu form:
Código PHP:
$cadena=$_POST['numero'];
if (
ereg("^(625|655)([0-9]{6})$",$cadena)) {
echo 
"valido: $cadena";
} else {
echo 
"no valido: $cadena";

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 24/12/2003, 07:37
 
Fecha de Ingreso: febrero-2003
Mensajes: 753
Antigüedad: 14 años, 10 meses
Puntos: 2
Muchas gracias josemi ha funcionado perfectamente !

un saludo

Última edición por escan_0; 24/12/2003 a las 07:45
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:39.