Comunidad de diseño web y desarrollo en internet online

Nùmeros solamente en text input

Citar            
MensajeEscrito el 29 May 2006 01:20 pm
Hola gente!

Quisiera saber si alguien me puede decir como hacer para que, en un text input, (supongo que usando JavaScript) solo se puedan ingresar números... Y además, como hacer para controlar que, en otro text input donde se ingresaria e-mail, el mail exista.

Desde ya, muchas gracias!!

Pablo

Por _pablito_

Claber

190 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 02 Jun 2006 03:20 am
Dreamweaver puede ayudarte generándote código JavaScript para validar tanto datos numéricos como emails en los campos de formularios. Procedimiento:
- Selecciona el formulario del cual validarás datos
- Abre al pánel 'Tag Inspector' (o su equivalente en español)
- En ese panel abre la ficha Behaviors (o comportamientos en español)
- Selecciona Validar Formulario
- De ahi en adelante configuras según tus necesidades la validación.

Esto usará el evento onsubmit (para el tag form) el cual llamará la función de validación en Javascript. Puedes usar los otros eventos si deseas algo mas sofisticado. Puedes localizar muchos manuales de JavaScript en la internet.

Por EdilbertoO

23 de clabLevel



Genero:Masculino  

Colombia

firefox
Citar            
MensajeEscrito el 02 Jun 2006 02:35 pm
Actualmente no hay lo que quieres, hay alternativas como validar para que no se permitan letras, pero no puedes pedir sólo un tipo de caracteres como en flash o algún otro lenguaje de programación.

Esto se supone será resuelto con Xforms, pero dudo que sea implementado pronto.

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

firefox
Citar            
MensajeEscrito el 02 Jun 2006 03:16 pm
de hecho sí se puede, pero no es tan "cool" como funciona en flash.
teóricamente es lo siguiente:
en el evento onchange haces un replace con expresiones regulares (una vez encontré una librería MUY buena), en las que sólo números sean permitidos y básicamente es todo

suerte, recuerda que si logras hacerlo montes un ejemplo para que quien lo necesite pueda encontrarlo fácilmente

Por fael

BOFH

2443 de clabLevel

3 tutoriales
2 articulos

 

firefox
Citar            
MensajeEscrito el 03 Jun 2006 04:42 am
Eso no es nada c00l, es como esos que escribes y luego se borra diciendote "no se permiten letras!" .. arggh.. so annoying.

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

firefox
Citar            
MensajeEscrito el 04 Jun 2006 05:15 am
Eso depende Neo, la mayoría ataca a los input text, eso es lo que hace que NO se vea c00l. PERO si atacamos el boton(tecla) que presione ese maligno ser(usuario) y la erradicamos como si nunca hubiera existido, lograremos dominar el mundo, y hacer inputs c00ls. :lol:

Código :

<html>
   <head>
   <script language=Javascript>
      <!--
     /*
      Enable only numbers
      Author: Dano
      Website: www.danonino.org
      Licence: ¿?
     */
      function onlyNumbersDano(evt)
      {
        var keyPressed = (evt.which) ? evt.which : event.keyCode
        return !(keyPressed > 31 && (keyPressed < 48 || keyPressed > 57));
      }
      //-->
   </script>
   </head>
   <body>
      <input id="ipNumber" onkeypress="return onlyNumbersDano(event)" 
         type="text" name="ipNumber">
   </body>
</html>


^^

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

clabbrowser
Citar            
MensajeEscrito el 04 Jun 2006 01:30 pm

Código :

<p><input type="text" id="text"></p>

<script language="JavaScript">
function validarNumeros(obj){
   var val2 = obj.value;
   var reg = new RegExp("\\D", 'g');
   var rep = val2.replace(reg, "");
   obj.value = rep;
}
document.getElementById("text").onfocus = function(){
   this.int = setInterval("validarNumeros(document.getElementById('text'))",40);
   validarNumeros(this);
}
document.getElementById("text").onblur = function(){
   clearInterval(this.int);
   validarNumeros(this);
}
</script>

Por fael

BOFH

2443 de clabLevel

3 tutoriales
2 articulos

 

firefox
Citar            
MensajeEscrito el 04 Jun 2006 05:16 pm
El problema con el setInterval, es que al entrar al campo, se activa el intervalo, y si tardas 4 segundos en escribir, el intervalo se abra cumplido 100 veces(viendo el intervalo que asignaste), habrá validado pues 100 ocasiones. :wink:

Yo también había pensado en las RE, básicamente con /\d.-/ abarcas el universo numérico, pero la forma mas óptima(según yo) es no dejar que entre al input, algo que no nos interesa. Además con el control de teclas la validación solo se da cuando el evento se cumple, por ejemplo en 4 segundos solo validará cuantas veces el usuario tecleo.

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

clabbrowser
Citar            
MensajeEscrito el 04 Jun 2006 05:29 pm
Puedo añadir que solo se debe usar expresiones regulares cuando sean realmente necesarias, el procesamiento que exigen es mucho :wink:

saludos

PD: aparte son jodidas :lol:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 04 Jun 2006 05:37 pm
sigo algo perdido O_o xD

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

firefox
Citar            
MensajeEscrito el 05 Jun 2006 01:33 am
bueno, es una posible solución. lo probé junto con el evento onkeypress pero no fue tan óptimo como lo esperaba, lo probé tanto con ie como con ff y no noté ningún tipo de carga extra del cpu.
igual y cada pedazo de código tiene su error, por ejemplo en el tuyo, dano, me parece que un ctrl+v no funcionaría o incluso admitiría otro tipo de caracteres que vienen del clipboard

un saludo

Por fael

BOFH

2443 de clabLevel

3 tutoriales
2 articulos

 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.