
24/03/2008, 17:11
|
| | Fecha de Ingreso: septiembre-2006
Mensajes: 28
Antigüedad: 18 años, 6 meses Puntos: 0 | |
Re: Expresion Regular Telefonos Mira me inspire en este codigo, ya que este lo que hace es colocarle punto de MIL es decir si escribes 1500000 te queda 1.500.000 y bueno para lo de los telefono es como similar pero toca en algun lado decirle que tipo de formato se necesita segun va digitando el usuario....he comenzado a modificar el codigo de arriba que mostre primero y funciona, pero no muy bien....espero me puedas entender lo que pienso...y gracias por tu colaboracion................
Aver un ejemplo si de antemanno se que tengo tres formatos telefonicos a dar formato por decirte algo asi quiero un formato asi 999-99-99 otro asi 999-999-99-99 y otro asi 99-999-99-99, mas o menos lo he pensado asi si el usuario digita 9999999 ahi cumple para un formato pero si continua insertando datos deberia de ser capaz de hacerlo con los q cumpla....espero ser claro y mil gracias de nuevo
<script language="JavaScript">
//Código para colocar
//los indicadores de miles mientras se escribe
//script por tunait!
function puntitos(donde,caracter){
pat = /[\*,\+,\(,\),\?,\,$,\[,\],\^]/
valor = donde.value
largo = valor.length
crtr = true
if(isNaN(caracter) || pat.test(caracter) == true){
if (pat.test(caracter)==true){
caracter = "\" + caracter
}
carcter = new RegExp(caracter,"g")
valor = valor.replace(carcter,"")
donde.value = valor
crtr = false
}
else{
var nums = new Array()
cont = 0
for(m=0;m<largo;m++){
if(valor.charAt(m) == "." || valor.charAt(m) == " ")
{continue;}
else{
nums[cont] = valor.charAt(m)
cont++
}
}
}
var cad1="",cad2="",tres=0
if(largo > 3 && crtr == true){
for (k=nums.length-1;k>=0;k--){
cad1 = nums[k]
cad2 = cad1 + cad2
tres++
if((tres%3) == 0){
if(k!=0){
cad2 = "." + cad2
}
}
}
donde.value = cad2
}
}
</script>
Y el campo de texto:
<input type="text" name="pepe" onkeyup = "puntitos(this,this.value.charAt(this.value.le ngth-1))"> |