TOPページ >  JavaScriptの演算および構文 > WHILE文を使って条件が満たされるまで処理を繰り返す

WHILE文を使って条件が満たされるまで処理を繰り返す

ホームページやブログなどのウェブサイトで JacaScript を使用する際に、WHILE文を使って 条件が満たされるまで処理を繰り返す方法をご紹介します。この構文は、最初から条件が満たされていなかった場合は、処理は一度も実行されません。

while ( 条件 ) 実行する処理
  1. 条件:処理を繰返し実行する条件を指定します。条件式が偽になったら繰返しを抜けて、以降のスクリプトを実行します。
  2. 実行する処理:条件が真の間に繰返し実行する処理を指定します。実行する処理が複数の場合は、{}で括ります。

サンプルです。このサンプルでは、初期値が i = 0 で、i が 10 以下のとき処理を繰り返します。繰返し処理の中で処理を1回実行するごとに i++ で i を1 づつ増加していきますので、11 回処理を実行したところで 繰返しを終了します。

このサンプルのソースは、次のようになっています。

<SCRIPT LANGUAGE="JavaScript">
<!--
i = 0 ; j = 0 ;
while ( i < 11 ) { j = j + i ; i++ ; }
document.write( " 0 + 1 + 2 + 3 + 5 + 6 + 7 + 8 + 9 + 10 = " , j ) ;
\\-->
</SCRIPT>

次のサンプルは、メールフォームなどでテキストボックスに入力されたメールアドレスを確認するものです。空欄かどうかのチェック、『 XXX@XXX.XXX 』の形式になっているかどうか、全角文字が混入していないかを簡易的にチェックします。全角文字の混入のチェックの部分で WHILE文を使用しています。

サンプルですので、適当にテキストボックスに入力して 確認ボタンを押してみてください。上記の条件でOK 、NG をチェックします。

メールアドレスを入力してください。

このサンプルのソースは、次のようになっています。

<SCRIPT LANGUAGE="JavaScript">
<!--
function check() {
mail = document.mailform.mail.value ;
if ( mail =="" || mail.indexOf( "@",0 ) < 0 ) {
checkNG();
return false; }

data_1 = mail.split("@") ;
data_2 = data_1[1].split(".") ;
if ( data_1[0] =="" || data_1[1].indexOf( ".",0 ) < 0 || data_2[0] =="" || data_2[1] =="" ) {
checkNG();
return false; }

i = 0 ;
while ( i < mail.length ) {
if ( mail.charCodeAt( i ) > 129 ) {
checkNG();
return false; }
i++ ; }

alert( "メールアドレスのチェックはOKでした。") ;
}

function checkNG() {
alert( "メールアドレスが正しくありません。") ;
}

//-->
</SCRIPT>

<body>
<form name="mailform">
メールアドレスを入力してください。<br>
<input type="text" name="mail" size="20">
<input type="button" value="確認" onClick="check()">
</form>

ランキングに参加中です! お役に立てたらクリックをお願いします→

同一カテゴリ内一覧
WHILE文を使って条件が満たされるまで処理を繰り返す
FOR文を使って処理を繰り返す1
IF文を使って処理を条件分けする
JavaScript関数の基本
演算子の優先順位
ビット演算子を使って計算をする
代入演算子を使って計算をする
論理演算子を使って計算をする
比較演算子を使って計算をする
算術演算子を使って計算をする
IEの方はこちらから当サイト ブックマークできます。
ランキング参加中!お役に立てたら クリックをお願いします。
当サイト掲載カテゴリは
Yahoo! JAPAN コンピュータとインターネット > データ形式 > HTML > リファレンス