Фильтрация строк" только пробелы " в JavaScript

У меня есть текстовое поле, собирающее пользовательский ввод в моем JS-коде. Я хотел бы фильтровать нежелательный ввод, например строки, содержащие только пробелы.

В C# я бы использовал следующий код:

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

У вас есть какие-либо рекомендации, как сделать то же самое в JavaScript?

4 ответов


на trim() метод на строках существует в стандарте пятого издания ECMAScript и был реализован Mozilla (Firefox 3.5 и связанные браузеры).

пока другие браузеры не догонят, вы можете исправить их следующим образом:

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

затем:

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

использовать регулярное выражение:

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

или еще проще:

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

\S означает "любой символ без пробела".


кроме того, /^\s*$/.test(inputString)


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

используйте его так: if (trim (myString)=="")