Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/03/2013, 12:49
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Impedir que se escriba un correo en un textarea

Si ese el caso, yo lo haría más genérico.
En una situación real, en tu formulario, que necesidad habría de que los usuarios escribiesen http:// ó ftp:// ó https:// más que para ingresar una url?, idem para que escriban [email protected] sin importar mucho si son correos ó url válidas.
Distinto sería si vos si permitieses que se escriban urls y emails y quizieras validar si lo hicieron correctamente. Por tu comentario entiendo que tu idea es que ni las escriban

Entonces

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.  
  8. function validar(){
  9. var mensaje = document.getElementById('mensaje').value;
  10. var formato_email = /\w+@\w+\.\w+/;
  11. var url = mensaje.match(/(ftp|http|https):\/\//gi);
  12. var v_email = formato_email.test(mensaje);
  13.  
  14. if((v_email == true)||(url != null)){
  15. alert('hay email ó url');
  16. return false;
  17. }
  18.  
  19. /// Si no hubo ningún error, el form se procesa
  20.  
  21. alert('proceso');
  22.  
  23. }
  24.  
  25. </script>
  26. </head>
  27. <div>
  28. <form action="#" onsubmit="return validar();">
  29. <textarea rows="5" cols="100" id="mensaje"></textarea><br />
  30. <input type="submit" class="boton" value="enviar" />
  31. </form>
  32. </div>
  33. </body>
  34. </html>
usas como dije, 2 expresiones muy genéricas

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