プロが教える店舗&オフィスのセキュリティ対策術

こんにちは。

テキストエリアにデータを入力して
その入力チェックを行いたいと思います。

入力項目にspace(全角、半角ともに)のみ入力された場合、
escape関数を使用すれば未入力と判断させることはできました。
かりにspaceを4つほど入力(判定では未入力と判断させたい)した
場合、うまくロジックを組むことができません。
どうかアドバイス宜しくお願い致します。

A 回答 (1件)

フォームの値を取得した後、半角スペースや全角スペースを「.replace()」メソッドを利用して除去してしまい、スペース以外の文字が残らない場合には未入力と判断するようにすればよいと思います。



具体例を挙げてしまいますが、

txt=document.form1.input1.value;
txt2=txt.replace(/ /g,"");
txt2=txt2.replace(/ /g,"");
if (!txt2){ alert("未記入です");}

このようにすると、

 一行目でフォーム内容を取得して変数txtに格納、
 二行目で変数txt内の全角スペースをすべて除去(内容のない値に置換)してチェック用の変数txt2に格納、
 三行目で変数txt2内の半角スペースも上と同じく除去、
 最後に変数txt2の中に値があるかどうかをチェックして、値がなければ未記入として警告を出す

という処理ができます。 これでお求めの動作が得られるのではないかと思います。

参考になれば幸いです。
    • good
    • 0
この回答へのお礼

早速の返信ありがとうございます。
replaceというのがあるのはしりませんでした。
勉強不足ですね。
上記のスクリプトでうまく動作しました。
ありがとうございました。
また質問などありましたら、ご厄介になりますが、
宜しくお願い致します。m(_ _)m

お礼日時:2003/03/13 17:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!