質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

659閲覧

アラート表示できない。

tomokia

総合スコア28

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/06/10 05:36

編集2021/06/10 05:54

入力欄に数字が入力されたらアラート表示したいんですが、表示されません。name1はinputのIDです

function option(){ const name1 = document.getElementById("name1").value; const name2 = document.getElementById("name2").value; const age = document.getElementById("age").value; const add1 = document.getElementById("add1").value; const add2 = document.getElementById("add2").value; const sumika1 = document.getElementById("sumika1").value; const sumika2 = document.getElementById("sumika2").value; //未入力チェック if(name1.length === 0){ alert("名前(姓)は必須入力です。"); return; }else if(name2.length === 0){ alert("名前(名)は必須入力です。"); return; }else if(age.length ==="noselect"){ alert("年齢は必須選択です。"); return; }else if(add1.length === 0){ alert("アドレスは必須入力です"); return; }else if(add2.length === 0){ alert("アドレス(確認用)は必須入力です。"); return; }else if(sumika1.length === 0){ alert("住所は必須入力です。"); return; }else if(sumika2.length === 0){ alert("住所(確認用)は必須入力です。"); return; } //入力値チェック if(name1.length > 20 || name2.length > 20){ alert("名前は20字以内で入力してください。"); return; }else if(!add1.match(/^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]{1,}.[A-Za-z0-9]{1,}$/)){ alert("メールアドレスの形式が違います。"); return; }else if(name1.match(/[0-9]/) || name2.match(/[0-9]/)){ alert("名前に数字は使用できません。"); return; } } ```ここに言語を入力
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link rel="stylesheet" href="input1.css"> <script type="text/javascript" src="input1.js" charset="shift_jis"></script> </head> <h2>1.基本情報入力</h2> <main> <table> <tr> <th>名前(姓)</th> <td><input id="name1" ></td> </tr> <tr> <th>名前(名)</th> <td><input id="name2" ></td> </tr> <tr> <th>年齢</th> <td><select name="age" id="age"> <option value="0">0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option></th><th>歳</td> </tr>
<tr> <th>メールアドレス</th> <td><input id="add1" ></td>
</tr> <tr> <th>メールアドレス<br>(確認用)</th> <td ><input id="add2" ></td> </tr> <tr> <th>住所1</th> <td><input id="sumika1" ></td> </tr> <tr> <th>住所2</th> <td><input id="sumika2" ></td> </tr> <tr> <th></th> <th> <input type="submit" value="次へ" class="btn" onclick="option()"></th> </tr> </table> </main> </container> </html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lhankor_Mhy

2021/06/10 06:14

念のため確認ですが、名前が 0 ならアラートを出す、 0 の時はアラートを出さない、 ということでいいんですよね?
tomokia

2021/06/10 06:24

名前に0~9の数字が使われたらアラート出す感じです
m.ts10806

2021/06/10 06:28

全角と半角の考慮を問われてると思います
Lhankor_Mhy

2021/06/10 07:07

m.ts10806さんのおっしゃるとおりで、「名前入力欄に1を入力してもアラートが表示されないです。検証してみたがエラー表示はありませんでした」とコメントされていますが、これは全角ではないですか? 正規表現は半角数字をチェックしているように見えます。
yamap55

2021/06/10 07:09

なるほど。その線は高そうですね。 m.ts10806さん流石です。この発想はなかったです。
tomokia

2021/06/10 07:17

確認したところ半角ではアラート表示されました。ありがとうございました。
m.ts10806

2021/06/10 07:21

いえいえ。Lhankor_Mhyさんが分かりやすいよう改行してくれてるので気づけました。 仕様として全角はどうするか?は決めないといけないと思います。
guest

回答2

0

自己解決

htmlのほうで元あったoption消したら解決できました。

投稿2021/06/10 07:31

tomokia

総合スコア28

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

0

javascript

1var name1 = '1'; 2var name2 = '2'; 3var f = function() { 4 if(name1.match(/[0-9]/) || name2.match(/[0-9]/)){ 5 alert("名前に数字は使用できません。"); 6 return; 7 } 8} 9f();

↑をデベロッパーツール開いて実行したらアラート出ましたので構文自体は間違っていないようです。
これ以上は実行環境やname1, name2の情報がないと何もわかりません。


ここからは勝手な妄想ですが、多分このコードが実行されていないのだと思います。
関数内に書いているならば関数は呼び出されていますか?


追記頂いたコードを丸々コピペで動かしたところ動作しているように見えます。
https://jsbin.com/zehuqetesi/edit?html,js,output

想定と違う所がありますでしょうか?


思いついたことを列挙します。以下を確認してみてください。

  • JavaScriptを記載したファイル名が「input1.js」であるか
  • htmlと同じ場所に「input1.js」が存在するか
  • デベロッパーツールにはどのようなエラーが表示されているか

投稿2021/06/10 05:48

編集2021/06/10 06:12
yamap55

総合スコア1376

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomokia

2021/06/10 05:54

一応すべて載せました
tomokia

2021/06/10 06:19

名前入力欄に1を入力してもアラートが表示されないです。検証してみたがエラー表示はありませんでした
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問