Foros del Web » Programando para Internet » PHP »

Validad teléfono móvil España

Estas en el tema de Validad teléfono móvil España en el foro de PHP en Foros del Web. ¿Cómo se validaría un teléfono móvil de España? Todos empiezan por 6 y tienen 9 dígitos. Esta sería una expresión para validar un número entre ...
  #1 (permalink)  
Antiguo 19/09/2006, 17:27
Avatar de alexsaiz  
Fecha de Ingreso: agosto-2006
Ubicación: Madrid
Mensajes: 85
Antigüedad: 17 años, 8 meses
Puntos: 0
Validad teléfono móvil España

¿Cómo se validaría un teléfono móvil de España? Todos empiezan por 6 y tienen 9 dígitos.

Esta sería una expresión para validar un número entre 0-9 con 9 dígitos. ¿Pero como se dice que empiece por 6?

Código PHP:
if (!ereg("^[0-9]{9}$",$reg_mobile)) 

Muchas gracias y un saludo.
  #2 (permalink)  
Antiguo 19/09/2006, 19:14
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 21 años
Puntos: 2
Código PHP:
<?php
if (ereg("^6{1}[0-9]{8}$",$reg_mobile)) { echo 'telefono valido'; }
else { echo 
'error'; }
?>
__________________
I Love Programming...
  #3 (permalink)  
Antiguo 20/09/2006, 07:40
Avatar de alexsaiz  
Fecha de Ingreso: agosto-2006
Ubicación: Madrid
Mensajes: 85
Antigüedad: 17 años, 8 meses
Puntos: 0
Gracias por la respuesta.

Una pregunta más:

1) Si el numero NO empieza por 6 ó 9.
2) O tiene menos o más de 9 dígitos.

Quiero que me devuelva "inputbox-rojo".
Con esto me funciona lo que digo en la opción 1) pero no en la 2)

¿Véis algo mal en la expresión?

Código PHP:
if (ereg("^[0-5]|[7-8]{1}[0-9]{8}$",$reg_mobile)){
  echo 
"inputbox-rojo";} 
Muchas gracias y un saludo.
  #4 (permalink)  
Antiguo 20/09/2006, 12:07
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 21 años
Puntos: 2
Código PHP:
<?php 
if (!ereg("^(6|9){1}[0-9]{8}$",$reg_mobile)) { echo 'inputbox-rojo'; }
?>
El condicional OR (esto OR esto otro) es la barra vertical |, ej

if (esto|o esto|o esto otro) {....
__________________
I Love Programming...
  #5 (permalink)  
Antiguo 21/09/2006, 09:13
Avatar de alexsaiz  
Fecha de Ingreso: agosto-2006
Ubicación: Madrid
Mensajes: 85
Antigüedad: 17 años, 8 meses
Puntos: 0
Gracias por tu respuesta. El símbolo de exclamación delante del !ereg, ¿qué quiere decir? ¿Lo contrario?

Otra pregunta, ¿esto (6|9) es igual a ([0-5]|[7-8])?

Saludos.
  #6 (permalink)  
Antiguo 21/09/2006, 13:49
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 21 años
Puntos: 2
cuando una funcion que retorna true o false tiene un ! por delante significa que debe realizar la accion contraria, en este caso

if (!ereg("^(6|9){1}[0-9]{8}$",$reg_mobile)) { echo 'inputbox-rojo'; }

seria, si NO comienza con 6 o 9 y no tiene, además, otros 8 digitos...

en cuanto a si (6|9) es igual a ([0-5]|[7-8]), te diria que si solo que al revez... es decir, si queres utilizar ([0-5]|[7-8]) debes sacar el ! que esta delante de eregi().

Igualmente yo usaria (6|9) porque es menos para evaluar... es este numero o no lo es, en cambio la otra dice si esta dentro de... o dentro de...

saludos!
__________________
I Love Programming...
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 05:03.