Foros del Web » Programando para Internet » Javascript »

poner en () los 3 primeros digitos

Estas en el tema de poner en () los 3 primeros digitos en el foro de Javascript en Foros del Web. Hola amigos tengo un input type que solo admite numero mientras se escribe con el evento onkeypress en ese campo el usuario pone su numero ...
  #1 (permalink)  
Antiguo 14/07/2005, 23:33
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 6 meses
Puntos: 21
Pregunta poner en () los 3 primeros digitos

Hola amigos tengo un input type que solo
admite numero mientras se escribe con el evento onkeypress
en ese campo el usuario pone su numero telefonico
2299228578 pero quiero que al ir escribiendo
me ponga los primeros tres caracteres dentro de unos
parentesis osea asi:
(229)9228578 como puedo resolver esto.

gracias, esperos sus comentarios amigos
saludos!!
__________________
gerardo
  #2 (permalink)  
Antiguo 15/07/2005, 01:02
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años, 1 mes
Puntos: 61

Código PHP:
<script>
function 
comprobar(esto){
texto=esto.value;
if(
texto.charAt(0)!="("){texto="("+texto;}
if(
texto.length>3){
if(
texto.charAt(4)!=")"){
resto=texto.substring(4);
texto=texto.substring(0,4)+")"+resto;
}}
esto.value=texto;

}
</script>
<input type="text" onkeyup="comprobar(this)"> 
Aunque así es menos agresivo:

Código PHP:
<script>
function 
comprobar(esto){

texto=esto.value;
if(
texto.length==1){
if(
texto.charAt(0)!="("){texto="("+texto;}
else{
texto=""}
}
if(
texto.length==5){
if(
texto.charAt(4)!=")"){
resto=texto.substring(4);
texto=texto.substring(0,4)+")"+resto;
}
else{
texto=texto.substring(0,4)}
}
esto.value=texto;

}
</script>
<input type="text" onkeyup="comprobar(this)"> 
Digo que es menos agresivo porque espera a haber pasado el caracter para poner el paréntesis... y además, consigues que si se confunde el usuario no tiene que borrar los paréntesis. Se borran solos.
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 15/07/2005 a las 01:15
  #3 (permalink)  
Antiguo 15/07/2005, 08:29
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 6 meses
Puntos: 21
Muchas gracias karlankas

Gracias karlankas esta de pelos
y gracias por responder lo mas pronto posible.

saludos
__________________
gerardo
  #4 (permalink)  
Antiguo 15/07/2005, 08:46
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años, 1 mes
Puntos: 61
Bueno... no contesté lo antes posible. Me tomé mi tiempo, eh?

Me alegro de que te haya servido!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
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 02:05.