2009-12-17 4 views
7

Tengo un cuadro de texto que recopila la entrada del usuario en mi código JS. Me gustaría filtrar la entrada basura, como cadenas que contienen espacios en blanco solamente.Filtrar cadenas "solo de espacio en blanco" en JavaScript

En C#, me gustaría utilizar el siguiente código:

if (inputString.Trim() == "") Console.WriteLine("white junk"); 
else Console.WriteLine("Valid input"); 

¿Tiene alguna recomendación, la forma de hacer lo mismo en JavaScript?

Respuesta

15

El método trim() en cadenas existe en el ECMAScript quinta edición estándar y tiene sido implementado por Mozilla (Firefox 3.5 y navegadores relacionados).

hasta que los otros navegadores ponerse al día, puede corregirlos así:

if (!('trim' in String.prototype)) { 
    String.prototype.trim= function() { 
     return this.replace(/^\s+/, '').replace(/\s+$/, ''); 
    }; 
} 

a continuación:

if (inputString.trim()==='') 
    alert('white junk'); 
10

utilizar una expresión regular:

if (inputString.match(/^\s*$/)) { alert("not ok"); } 

o incluso más fácil:

if (inputString.match(/\S/)) { alert("ok"); } 

Los medios de \ S 'cualquier espacio en blanco carácter no'.

1
function trim (myString) 
{ 
    return myString.replace(/^\s+/,'').replace(/\s+$/,'') 
} 

utilizar de esta manera: si (trim (miCadena) == "")

+0

las banderas 'G 'son redundantes –

+0

sí tienes razón, he edité mi respuesta para eliminarlos. Gracias. –

2

Alternativamente, /^\s*$/.test(inputString)

Cuestiones relacionadas