Foros del Web » Programando para Internet » Javascript »

Validar campo para no prohibir puntos y letras

Estas en el tema de Validar campo para no prohibir puntos y letras en el foro de Javascript en Foros del Web. Hola amigos, He montado una página en php y me gustaría validar un formulario, para ello me han recomnedado javascript. He intentado crear una validación ...
  #1 (permalink)  
Antiguo 28/10/2010, 11:59
 
Fecha de Ingreso: abril-2009
Mensajes: 233
Antigüedad: 15 años
Puntos: 5
Validar campo para no prohibir puntos y letras

Hola amigos,

He montado una página en php y me gustaría validar un formulario, para ello me han recomnedado javascript. He intentado crear una validación con mi mínima experiencia en javascript pero no se como prohibir los puntos, comas, espacios y letras en el campo precio y año...

Espero que me puedan ayudar o indicar alguna forma de poder hacerlo...

Código:

Código HTML:
<script>

function validarEntero(valor){ 
      //intento convertir a entero. 
     //si era un entero no le afecta, si no lo era lo intenta convertir 
     valor = parseInt(valor) 

      //Compruebo si es un valor numérico 
      if (isNaN(valor)) { 
            //entonces (no es numero) devuelvo el valor cadena vacia 
            return "" 
      }else{ 
            //En caso contrario (Si era un número) devuelvo el valor 
            return valor 
      } 
} 

function valida_envia(){
	//valido el precio
	if (document.fvalida.precio.value.length==0){
		alert("Tiene que introducir un precio")
		document.fvalida.precio.focus()
		return 0;
	}
	//valido la año. 
	if (document.fvalida.ano.value.length==0){
		alert("Tiene introducir el año de matriculacii&oacute;n")
		document.fvalida.ano.focus()
		return 0;
	}
	//valido la km
	if (document.fvalida.km.value.length==0){
		alert("Tiene que indicar los kil&oacute;metros")
		document.fvalida.km.focus()
		return 0;
	}

	//valido color 
	if (document.fvalida.color.value.length==0){
		alert("Tiene que indicar el color de su coche")
		document.fvalida.color.focus()
		return 0;
	}
	
	//valido la descripcion 
	if (document.fvalida.descripcion.value.length==0){
		alert("Tiene poner una descripci&oacute;n de su coche")
		document.fvalida.descripcion.focus()
		return 0;
	}
					//valido telefono 
	if (document.fvalida.telefono.value.length==0){
		alert("Tiene que indicar un numero de telefono")
		document.fvalida.telefono.focus()
		return 0;
	}
					//valido email 
	if (document.fvalida.email.value.length==0){
		alert("Tiene que introducir su email")
		document.fvalida.email.focus()
		return 0;
	}
					//valido poblacion 
	if (document.fvalida.poblacion.value.length==0){
		alert("Tiene indicar su poblaci&oacute;n")
		document.fvalida.poblacion.focus()
		return 0;
	}
					//valido calle 
	if (document.fvalida.calle.value.length==0){
		alert("Tiene indicar su calle")
		document.fvalida.calle.focus()
		return 0;
	}
	
	//el formulario se envia
	alert("Muchas gracias por enviar el formulario");
	document.fvalida.submit();
}
</script> 
Gracias de antemano y un saludo!
  #2 (permalink)  
Antiguo 28/10/2010, 12:38
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Validar campo para no prohibir puntos y letras

Usa expresiones regulares. En tu caso (ni puntos, ni comas, ni espacios ni letras):
Código Javascript:
Ver original
  1. var aceptable=/^[^.,\sA-zñÑ]+$/;
  2. //no sé si sabes de expresiones regulares, si no pregunta ;)
Por cierto, usa test() para validar el campo con la expresión regular.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 28/10/2010, 13:16
 
Fecha de Ingreso: abril-2009
Mensajes: 233
Antigüedad: 15 años
Puntos: 5
Respuesta: Validar campo para no prohibir puntos y letras

Gracias _cronos2, ya lo he conseguido con este código, pero ahora sería interesante que tampoco permitiese el símbolo del euro, y no he encontrado la forma de hacerlo.

Código:

Código HTML:
function valida_envia(){
	
	    //valido el precio. tiene que ser entero mayor que 18
    var er_precio=/^[^.,\sA-zñÑ€]+$/;
    
    //usa el metodo test de expresion regular
    if(!er_precio.test(fvalida.precio.value)) {
       alert('Campo PRECIO no válido.')
       document.fvalida.precio.focus()
       return false    //no submit
    } 
Agradeceré mucho una ayuda!!
  #4 (permalink)  
Antiguo 28/10/2010, 15:11
 
Fecha de Ingreso: abril-2009
Mensajes: 233
Antigüedad: 15 años
Puntos: 5
Respuesta: Validar campo para no prohibir puntos y letras

Alguien me puede ayudar??
  #5 (permalink)  
Antiguo 28/10/2010, 15:34
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Validar campo para no prohibir puntos y letras

¿Probaste escapándolo con el backslash?
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red

Etiquetas: letras, puntos, campos
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 23:03.