JavaScriptで文字列に空白(半角スペース)が含まれているか判定する方法
JavaScriptで文字列に空白(半角スペース)が含まれているかどうかを確認したい場合は、indexOf(' ') の考え方を利用すると簡単に実装できます。indexOf() メソッドは、指定した文字が文字列内のどの位置にあるかを返し、見つからない場合は -1 を返します。この性質を利用して、戻り値が 0 以上であれば空白が存在すると判断できます。
サンプルコード
以下は、文字列に空白が含まれているかを判定する関数の実装例です。
function stringHasTheWhiteSpaceOrNot(value){
return value.indexOf(' ') >= 0;
}
var whiteSpace = stringHasTheWhiteSpaceOrNot("MyNameis John");
if (whiteSpace == true) {
console.log("The string has whitespace");
} else {
console.log("The string does not have whitespace");
}このプログラムを実行するには、Node.jsを使って次のコマンドを実行します。
node fileName.js
ここでは、ファイル名を demo108.js として保存しています。
実行結果
上記のプログラムを実行すると、コンソールには次のように出力されます。
PS C:\Users\Amit\JavaScript-code> node demo108.js The string has whitespace
補足:より現代的な書き方
ES6以降の環境では、includes() メソッドを使うことで、より直感的に同じ判定を行うこともできます。
const hasWhiteSpace = (value) => value.includes(' ');
console.log(hasWhiteSpace("MyNameis John")); // trueindexOf() と includes() のどちらを使っても動作は同じですが、可読性の観点では includes() の方が意図が伝わりやすくおすすめです。また、タブや改行などすべての空白文字を対象にしたい場合は、正規表現の /\s/ を使った判定も検討するとよいでしょう。
-
JavaScriptで文字列を真偽値(Boolean)に変換する方法
JavaScriptでは、文字列が「true」というリテラルと一致するかどうかを比較演算子で判定することで、文字列を実質的に真偽値(Boolean)として扱うことができます。ここでは、==(緩い等価比較)と===(厳密等価比較)の2つの方法を使った具体例を紹介します。 サンプルコード <!DOCTYPE html> <html> <head> <style> body { font-family: &
-
【JavaScript】ユーザーが入力した文字列が配列に含まれているかチェックする方法
本記事では、ユーザーに文字列を入力してもらうための入力欄を備えたJavaScriptプログラムを作成します。 プログラムは、入力された値が、あらかじめコード内で定義しておいた配列の要素と一致するかどうかを判定します。入力された文字列が配列内に存在すれば画面に「true」を、存在しなければ「false」を表示します。 実装例 この動作を実現するコードは以下のとおりです。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &nb