Filtering “whitespace-only” strings in JavaScript

2019-01-27 20:43发布

I have a textbox collecting user input in my JS code. I would like to filter junk input, like strings that contain whitespaces only.

In C#, I would use the following code:

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

Do you have any recommendation, how to do the same in JavaScript?

4条回答
可以哭但决不认输i
2楼-- · 2019-01-27 20:57

The trim() method on strings does exist in the ECMAScript Fifth Edition standard and has been implemented by Mozilla (Firefox 3.5 and related browsers).

Until the other browsers catch up, you can fix them up like this:

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

then:

if (inputString.trim()==='')
    alert('white junk');
查看更多
▲ chillily
3楼-- · 2019-01-27 20:59

Use a regular expression:

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

or even easier:

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

The \S means 'any non white space character'.

查看更多
我想做一个坏孩纸
4楼-- · 2019-01-27 21:03

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

查看更多
疯言疯语
5楼-- · 2019-01-27 21:11
function trim (myString)
{
    return myString.replace(/^\s+/,'').replace(/\s+$/,'')
} 

use it like this: if (trim(myString) == "")

查看更多
登录 后发表回答