Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/03/2006, 17:18
Avatar de Callaghan
Callaghan
 
Fecha de Ingreso: enero-2006
Mensajes: 58
Antigüedad: 18 años, 3 meses
Puntos: 1
Expresione Regular para hacer un campo que solo admita numeros decimales

Hola quiero hacer un campo que solo admita numeros decimales, el simbolo para el decimal es el punto.

Utilizo esta funcion que vi en el faq y que luego alguien del foro me ayudo a modificar.
Código PHP:
function validardec(e) { 
    
tecla = (document.all) ? e.keyCode e.which
    if (
tecla==8) return true//Tecla de retroceso (para poder borrar) 

    
patron = /[d.]/;// Solo acepta números y el punto
    
    
te String.fromCharCode(tecla); 
    return 
patron.test(te);  

Sin embargo el usuario podria teclear varios puntos con esa funcion, por ejemplo podria meter 1.2.2 o 12.., etc.
¿Como se puede modificar para que solo admita un punto?
Se que el simbolo (?) significa "cero o una vez" pero lo he intentado de varias maneras y no me lo coge.

Tambien me gustaria, si se pudiera hacer, que solo admitiera dos cifras antes del punto, para que asi no pudiera escribir cifras mayores de 99. Osea que se pudieran escribir dos cifras como maximo antes y despues del punto.

Por ultimo me gustaria tambien saber como se coge el primer elemento de una cadena. Lo quiero para que si el usuario mete una cifra del tipo (.99), la funcion javascript me la transforme a (0.99).

Gracias.