Как определить, имеет ли строка пробельные символы?Определить, содержит ли строка какие-либо пробелы
Ниже показаны только фактические пробелы. Мне нужно проверить любые пробелы.
if(str.indexOf(' ') >= 0){
console.log("contains spaces");
}
Как определить, имеет ли строка пробельные символы?Определить, содержит ли строка какие-либо пробелы
Ниже показаны только фактические пробелы. Мне нужно проверить любые пробелы.
if(str.indexOf(' ') >= 0){
console.log("contains spaces");
}
То, что вы должны найти место везде в строке, а не только между словами.
Если вы хотите, чтобы найти какой-либо пробелов, вы можете использовать это, который использует регулярное выражение:
if (/\s/.test(str)) {
// It has any kind of whitespace
}
\s
означает «любой символ пробела» (пробелы, табуляции, вертикальные вкладки, символ 'подача листа, линия перерывы и т. д.), и найдет этот символ в любом месте строки.
According to MDN, \s
равноценно: [ \f\n\r\t\v\u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]
.
По какой-то причине, я первоначально прочитал ваш вопрос «Как я вижу, если строка содержит только пространства?» и поэтому я ответил ниже. Но, как отмечает @CrazyTrain, это не то, о чем говорит этот вопрос. Я оставлю его, хотя, на всякий случай ...
Если вы имеете в виду буквально пространства, регулярное выражение может сделать это:
if (/^ *$/.test(str)) {
// It has only spaces, or is empty
}
Это говорит: Сопоставьте начало строки (^
), а затем нолем или более пробелами, за которым следует конец строки ($
). Измените *
на +
, если вы не хотите, чтобы строка соответствовала пустой строке.
Если вы имеете в виду пустое пространство, как общее понятие:
if (/^\s*$/.test(str)) {
// It has only whitespace
}
Это использует \s
(пробел), а не пространство, а в остальном то же самое. (И снова смените *
на +
, если вы не хотите, чтобы строка совпадала с пустой строкой.)
Это также будет соответствовать пустой строке. – HamZa
@HamZa: Я предполагал, что это было желательно. –
T.J., это было очень быстро и прямо! –
У вас будут обнаружены любые пробельные символы, а не только слова. Но хотите ли вы включить другие типы пробелов? –
'console.log ('foo'.indexOf (' ')! == -1);' logs true для меня, как и 'console.log ('. .IndexOf ('')! == -1)' , 'console.log (''. indexOf ('')! == -1)' logs false, потому что пустая строка не содержит пробелов. Не знаете, что '' 'держит для вас, но' indexOf' должен работать –
Только пробелы между словами? Здесь живут пространства. –