Foros del Web » Programando para Internet » Javascript »

Validar campo texto

Estas en el tema de Validar campo texto en el foro de Javascript en Foros del Web. Hola a todos, tengo un formulario con dos campos (uno texto y el otro numérico) y quiero que el campo texto sólo admita: -letras del ...
  #1 (permalink)  
Antiguo 04/04/2008, 05:58
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 16 años, 8 meses
Puntos: 0
Validar campo texto

Hola a todos,

tengo un formulario con dos campos (uno texto y el otro numérico) y quiero que el campo texto sólo admita:
-letras del alfabeto(mayusculas y minúsculas,con acentos)
-la letra ñ
-espacios en blanco

esto es lo que he probado:

function validar(formulario)
{
//1º Comprobar, que no todos los campos a la vez estan vacíos
if ((formulario.nombre.value.length ==0)&&(formulario.codigoAsig.value.length ==0))
{
//ú en unicode:\u00FA
alert("No ha introducido ning\u00FAn criterio de b\u00FAsqueda");
formulario.nombre.focus();
return false;
}
else
{
//Si un campo no esta vacio, validar
//criterio escogido, nombre de 3 o mas
if ((formulario.nombre.value.length > 0)&&(formulario.nombre.value.length < 3))
{
alert("Escriba por lo menos 3 caracteres en el campo \"Nombre\".");
formulario.nombre.focus();
return (false);
}

var valid1 = /[A-Za-zñÑ\s]/;
if (valid1.test(formulario.nombre.value))
{
alert("OK");
}
else
{
//ó en unicode:\u00F3
alert("Escriba s\u00F3lo letras en el campo \"Nombre\".");
formulario.nombre.focus();
return (false);
}

//Si un campo no esta vacio validar
//criterio escogido, todo código de asignatura tiene 7 digitos
if ((formulario.codigoAsig.value.length > 0)&&(formulario.codigoAsig.value.length < 7))
{
alert("Escriba por lo menos 7 caracteres en el campo \"Apellido1\".");
formulario.codigoAsig.focus();
return (false);
}

var valid2 = /[0-9]/;

if (valid2.test(formulario.codigoAsig.value))
{
alert("OK");
}
else
{
//ó en unicode:\u00F3
alert("Escriba s\u00F3lo d\u00EDgitos en el campo \"C\u00F3digo\".");
formulario.codigoAsig.focus();
return (false);
}
}
}

La expresión regular marcada con rojo, creo que no esta bién.
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 18:27.