Как проверить, содержит ли строка символы и пробелы, а не просто пробелы?

Каков наилучший способ проверить, содержит ли строка только пробелы?

Строка может содержать символы, объединенные с пробелом, но не просто пробельные символы.

Ответ 1

Вместо проверки всей строки, чтобы увидеть, есть ли только пробел, просто проверьте, есть ли хотя бы один символ без пробелов:

if (/\S/.test(myString)) {
    // string is not empty and not just whitespace
}

Ответ 2

if (/^\s+$/.test(myString))
{
      //string contains only whitespace
}

это проверяет наличие 1 или более пробельных символов, если вы также должны соответствовать пустой строке, затем замените + на *.

Ответ 3

Простой ответ, если ваш браузер поддерживает функцию trim()

if (myString && !myString.trim()) {
    //First condition to check if string is not empty
    //Second condition checks if string contains just whitespace
}

Ответ 4

Хорошо, если вы используете jQuery, это проще.

if ($.trim(val).length === 0){
   // string is invalid
} 

Ответ 5

Просто проверьте строку на этом регулярном выражении:

if(mystring.match(/^\s+$/) === null) {
    alert("String is good");
} else {
    alert("String contains only whitespace");
}

Ответ 6

if (!myString.replace(/^\s+|\s+$/g,""))
  alert('string is only whitespace');

Ответ 7

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

[\S]+(\s[\S]+)*

или

^[\S]+(\s[\S]+)*$

Итак, я знаю, что это старый вопрос, но вы можете сделать что-то вроде:

if (/^\s+$/.test(myString)) {
    //string contains characters and white spaces
}

или вы можете сделать то, что nickf сказали и использовать:

if (/\S/.test(myString)) {
    // string is not empty and not just whitespace
}

Ответ 8

Я использовал следующий метод, чтобы определить, содержит ли строка только пробел. Это также соответствует пустым строкам.

if (/^\s*$/.test(myStr)) {
  // the string contains only whitespace
}

Ответ 9

isEmptyOrSpaces(str){
    return str || str.trim() === '';
}