Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/11/2016, 12:38
leugimsiul
 
Fecha de Ingreso: mayo-2014
Mensajes: 44
Antigüedad: 10 años, 6 meses
Puntos: 10
Respuesta: Validar textarea para evitar sólo espacios en blanco

Bueno, la función trim funciona en la mayoría de navegadores la verdad, incluso puedes tener un polyfill por si acaso, pero al grano. Tan solo tienes que hacer:

Código Javascript:
Ver original
  1. function validaValorDeTextarea(){
  2.     var texto = document.getElementById('mi-textarea').value.trim();
  3.     !!texto.length
  4.         ? alert("El valor tecleado sin espacios es: '" + texto + "'")
  5.         : alert("El campo está vacío!")
  6. }

Con trim() se darán los siguientes valores:

Código Javascript:
Ver original
  1. > Para "Texto" obtendrás "Texto"
  2.  
  3. > Para "" obtendrás ""
  4.  
  5. > Para "             " obtendrás ""
  6.  
  7. > Para "   Texto con espacios al principio y final  " obtendrás "Texto con espacios al principio y final"

Es decir, trim solo quita los especios al inicio y final. Si el texto se compone solo de espacios, el texto queda vacío. Si quieres usar trim sin ningún peligro (aunque está desde IE9 ya), puedes usar el polyfill de MDN por ejemplo https://developer.mozilla.org/es/doc.../Trim#Polyfill

Código Javascript:
Ver original
  1. if (!String.prototype.trim) {
  2.   (function() {
  3.     // Make sure we trim BOM and NBSP
  4.     var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
  5.     String.prototype.trim = function() {
  6.       return this.replace(rtrim, '');
  7.     };
  8.   })();
  9. }