24
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【JavaScript】 空文字のチェック方法【勉強中】

Last updated at Posted at 2015-06-27

・比較方法

<input type="text" id="myText" />

というテキストフィールドに対して、
空文字かどうかをチェックする場合、

if (document.getElementById('myText').value == "" )  {
    alert('空文字です');
}

とする事でチェックが出来ました。

他にも、Nullかどうかをチェックするには、

if (document.getElementById('myText').value == null )  {
    alert('nullです');
}

によってチェックが出来ます。

どうせするのであれば、
論理和の演算子 || (条件の内、一つでもtrueならtrue)を使って、

if (document.getElementById('myText').value == "" || document.getElementById('myText').value == null)  {
    alert('空文字またはnullです');
}

とすれば、短く書けました。

・2015/06/27 追記
sounisi5011様により、アドバイスを頂きました。

JavaScriptには、== によって比較する方法(等価比較)と===によって、比較する方法(厳密等価比較)があるそうです。

前者はある意味曖昧な比較をする、という事で、曖昧に検索する事以外では、後者===を比較した方が良い、との事でした。
(vbとかでも、常に if a = b then などは、常に、型も考慮して比較しますもんね。常にこちらで行ったほうがいいですね。)

また、===== では、後者の方が処理速度が速いそうです。
これも単純な考えで、==は処理の最初に比較する両者の型が同じかどうか比較し、その後、型が同じ場合は~~、型が違う場合は型変換をして~~、などと処理が走るのに、対して、===では、そもそも、両者の型が同じかどうかを比較しない、という事でした。

ご指摘ありがとうございます。

・2015/06/29 追記
hikaru_oao 様より、アドバイスを頂きました。
こちらの記事を参考にさせて頂きますと、JavaScriptでは、nullや空文字を評価すると、if文の判定は、falseになるそうです。

よって、上記のif文は以下のように書き表せます。

if (!(document.getElementById('myText').value)) {
    alert('空文字またはnullです');
}

※ 厳密には空文字・nullだけでは無いですが。
ご指摘ありがとうございます。

24
24
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?