Ver Mensaje Individual
  #8 (permalink)  
Antiguo 16/04/2012, 09:02
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: Como pedir ingresar solo palabras!!!

Correcta observación @isaBelM, bueno lo del this.value,nextElementSibling. En cuanto al operador ternario en determinados posts lo evito para hacer más claro el funcionamiento.
Si bien @garcia1808 ha respondido aun, agregaría una modificación extra, ya que si los valores a usar fuesen efectivamente nombre y apellido, existe siempre la posibilidad de que estos sean compuetos, por lo que requeriría de espacios en blanco, de ahi que nuestra validación de la cadena debería ser

Código Javascript:
Ver original
  1. // agregamos \s par permitir espacios
  2. var exp_reg = /^[a-z\s\u00C0-\u00ff]+$/i;
  3. // hacemos un trim para evitar que sean solo espacios en blanco
  4. idcampo =  idcampo.replace(/^\s+/g,'').replace(/\s+$/g,'');

la script final
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <script type="text/javascript">
  7. function validar(idcampo, mensaje) {
  8. var exp_reg = /^[a-z\s\u00C0-\u00ff]+$/i; // expresión regular para letras(máy o minus), acentuadas o no,
  9. idcampo =  idcampo.replace(/^\s+/g,'').replace(/\s+$/g,'');// removemos espacios vacioas al inicio y final
  10. mensaje.innerHTML = exp_reg.test(idcampo) == true ? "Correcto" : "Incorrecto";
  11. }
  12. </head>
  13. <form action="#">
  14. <div>
  15. <label for="nombre">Nombre</label>
  16. <input type="text" onkeyup="validar(this.value, this.nextElementSibling);" />
  17. <span id="mensaje_nombre"><!-- aqui el mensaje a medida que se introducen caracteres --></span>
  18. <br />
  19. <label for="apellido">Apellido</label>
  20. <input type="text" onkeyup="validar(this.value, this.nextElementSibling);" />
  21. <span id="mensaje_apellido"><!-- aqui el mensaje a medida que se introducen caracteres --></span>
  22. </div>
  23. </form>
  24. </body>
  25. </html>

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.