Ver Mensaje Individual
  #5 (permalink)  
Antiguo 24/01/2007, 11:12
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 3 meses
Puntos: 45
Re: Formato de numero telefónico?

Me ha parecido didáctico el ejemplo para plantearlo con expresiones regulares.

Otra solución válida también:
Código PHP:
<!doctype html public "-//W3C//DTD HTML 4.01//EN">
<
html>
    <
head>
        <
title>Formato numero de telefono</title>
        <
script language="javascript">
        function 
cambialo(elemento){
            var 
valorAntes elemento.value;
            
elemento.value valorAntes.replace( /^(d{3})(d{4})$/, "$1-$2" );
            var 
valorDespues elemento.value;
            if( 
valorAntes==valorDespues )
                
alert("Debes introducir siete digitos seguidos en la caja.\nEJEMPLO: 1234567");
        }
        
</script>
    </head>

    <body>
        <input type="text" name="numero" onBlur="cambialo(this);">
    </body>
</html> 
La expresión regular debe ser:
/^(\d{3})(\d{4})$/
La cual trata de encontrar el principio de la cadena (^); después tres digitos (\d{3}) que los agrupa metidos en un paréntesis para luego recordarlos y utilizarlos como $1; y por último cuatro dígitos seguidos (\d{4}) que metemos también en un paréntesis para utilizarlos luego como $2.

Luego de esto, se sustituye la incidencia por "$1-$2" que devolverá los tres dígitos, un guión, y los cuatro dígitos.



Poco a poco conseguiré que alguien utilice las expresiones regulares jeje.

Un saludo!
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.