• ベストアンサー

TextBoxに半角数字以外を入れたらエラーメッセージを出す

今学校で卒業の課題をつくっているんですけどちょっとわからない事があるので 教えてください。よろしくお願いします。 まず、HTMLのTEXTBOXの中に認証IDを入れてボタンを押したら個々のページに飛ぶんですが、例えば、textboxに『00005』と入れたらOKでそのままページに飛べて、 『0e4gb』とか『あいうえお』とか半角数字以外の文字を入れたらエラーメッセージ を出して飛ばないようにするのにjavascriptで作るにはどうしたらよいのでしょうか?結局、文字列を線形探索などで1文字づつ検索してその1字が(0~9の半角数字)以外だったらエラーを出すようなものを作りたいです。 説明がおかしくて分からないかもしれませんがどうかよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • megawind
  • ベストアンサー率39% (101/255)
回答No.4

#2です。 失礼しました。これが本当です。 <html> <head> <title>TEST</title> <script language="JavaScript"><!-- function check() { txt = document.FORM.nub.value; if (txt.match(/[^0-9]/g)) alert("入力は0~9の数字のみです"); else jpURL ="http://www.xxx.com"; location.href = jpURL; } // --></script> </head> <body> <form name="FORM"> 認証ID:<input type="text" name="nub"> <input type="button" value="ログイン" onClick="check()"> </form> </body> </html>

mitutoshi
質問者

お礼

返事遅くなってすみません。速攻やってみます。ありがとうございました。

その他の回答 (3)

  • megawind
  • ベストアンサー率39% (101/255)
回答No.3

#2です。 ジャンプにする場合も書きますので、参考して下さい。 実際やって見てないから、だめだったらごめん。 <html> <head> <title>TEST</title> <script Language="JavaScript"><!-- function checkText() { txt = document.form.nub.value; if (txt.match(/[^0-9]/g)) alert("入力は0~9の数字のみです"); } // --></script> </head> <body> <form name="form"> <input type="text" name="nub"> <input type="button" onClick="location.href='http://www.XXX.com'" value="Jump"> </form> </body> </html>

  • megawind
  • ベストアンサー率39% (101/255)
回答No.2

これでやって見てください。 ページへのジャンプは書かれていないけど。。。 <html> <head> <title>TEST</title> <script Language="JavaScript"><!-- function checkText() { txt = document.form.nub.value; if (txt.match(/[^0-9]/g)) alert("入力は0~9の数字のみです"); } // --></script> </head> <body> <form name="form"> <input type="text" name="nub"> <input type="button" value="OK"> </form> </body> </html>

  • namiri_e
  • ベストアンサー率37% (37/98)
回答No.1

正規表現を使えばできますよ。 if(form.text.value.match(/[^0-9]/)){ //このif内でアラートを出すなりすればOKです。 } とすればいいとおもいます。 ※formタグのname属性をform  textタグのname属性をtext  と表示しています。

mitutoshi
質問者

お礼

ありがとうございました。こういう宣言もあるんですね。本当に助かりました。

関連するQ&A

  • VB2005 TextBoxに何も入力しない場合のエラー

    VB入門者なので、よろしくお願いします。 VB2005で、Textboxに何も文字を入力しないで Button1をクリックしたら、  MessageBox.Show("何か入力してください", "エラーメッセージ") の様に何かエラーメッセージが表示されるようにしたいのですが、何かいい方法はありますか? ちなみにTextboxに入力するものは、ひらがな、数字、漢字、ローマ字 なんでも入力できるようにしています。

  • 正整数の半角数字かどうか判定する

    VB.NET2008を使っているのですが、 TextBox1に入力された文字が正整数の半角数字かどうかの 判定をしたいのですが、何かいい方法はないでしょうか? どなたかよろしくお願いします。

  • 文字列から半角数字以外を除去したい

    いつもお世話になっております。 現在、SQLServer2000(SP4)、Visual Basic6.0(SP5)を使って開発しています。 ある文字列から、半角数字以外を除去したいのですが、対象データの数が多いので、ループさせたりして、時間が掛かる処理は避けたいと思っています。 なるべく簡単な操作で文字列から半角数字以外を除去する方法を御存知でしたら教えてください。 【やりたい事の例】 ・0120-123-123 → 0120123123 ・a123456 → 123456 以上、宜しくお願いします。

  • HTMLのtextで半角数字のみ入力OKにする方法

    お世話になります。 Windows、VisualStudio2015のASP.NET(VisualBasic)、.NET Framework4.6、 ローカルIIS、ブラウザはGoogleChrome、IE、で開発しています。 1つのページに1つのtext(ASP.NETではTextBox、名称はtxtTest)を置き、 半角数字のみ入力できるように、function(名称はnumOnly())を設定します。 HTMLのソースは以下の通りです。 functionは、<head><script></script></head> に書いてあります。 -------------------- ・・・ <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script> <!-- // 半角数値のみを入力可能にする function numOnly() { m = String.fromCharCode(event.keyCode); if("0123456789\b\r".indexOf(m, 0) < 0) return false; return true; } //--> </script> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="txtTest" runat="server"></asp:TextBox>・・・※A </div> </form> </body> </html> -------------------- また、プログラムにおいては、 ページをロードする際に、 次のコードを実行します。 ASP.NETのTextBoxには、onkeydown属性がないからです。 ページ実行時に属性を追加します。 -------------------- Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load txtTest.Attributes.Add("onkeydown", "return numOnly()") End Sub -------------------- また、ブラウザで実行しますと、上記の※Aの部分のソースは、 以下のようになります。 -------------------- <input name="txtTest" type="text" id="txtTest" onkeydown="return numOnly()" /> -------------------- これにより、パソコンのキーボードの上の方に横に並んでいる数字キーで、 半角数字のみ入力はできるようになったのですが、 テンキーでの半角数字入力ができません。 これをできるようにしたいのですが、 何か適切な方法がございましたら、 ご教示いただけたら幸いです。 どうそよろしくお願いします。 (functionの参照元) http://javascript.eweb-design.com/1205_no.html <SCRIPT>という(大文字)はASP.NETでは適切でないようで、小文字に。 「language="JAVASCRIPT"」の個所もエラーになるため外してあります。

  • セルの入力制限(半角数字と半角空白限定)

    今更ですが、あるセルに 12345 56789 10111 と半角数字(文字列)と半角空白のみの入力制限をしたいと思います。 すみません、調べたんだけど以外に分かりませんでした。 できればコピペした際も常に半角数字&空白の条件が引き継げると 幸いです。

  • 数字以外は消去する

    こんにちは。テキストファイルの中に数字、半角英字 .やtabの制御文字が入っています。 それを読み出して、数字以外の文字は消す (DELキーで消去するイメージです) 数字が出てきたら改行し数字の終わりまでそのまま。 数字以外なら消去、数字が出てきたら・・・の連続 技をやりたいです。 つまり、asd 898 ,,,.0 [+90  であれば 898 0 90 のように変換してくれるソフトを探してます。 自分で作ったらどう?っていわないで・・・

  • 半角英数字のエラーチェック

    if ( $input{'aaa'} !~ /^[A-Z]{2}$/ ) { &Error("エラー"); } 上の正規表現は 『半角アルファベット2桁以外だったら』 エラーという表現ですが、 『半角アルファベット2桁または半角アルファベット+数字一桁以外だったら』 エラーにしたいのですが、どのような記述をすればいいのか教えてください。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • TEXTBOXの値の取扱い

    ASP(vbscript) + Access(mdb) 今、登録・編集するASPページを作成しています. そこでTEXTBOXのデータの取扱いに困っています. TEXTBOXの入力内容にHTMLタグを含む文字列を 入力した場合、mdbに登録まではいいのですが、 編集時にどのようにTEXTBOXに表示していいのか分かりません HTMLEncode後の文字列で扱うと、再保存などを繰り替えすうちに &gt;、&lt;などの文字列になってしまいます. TEXTBOXの文字列はどのように扱うのがいいのでしょうか?

  • 正規表現で半角数字1桁のみを全角数字に変換

    お世話になります。 JavaScript(JSP)で、 正規表現で半角数字1桁のみ(2桁以上は変換しない)を、 全角数字に変換する方法を教えてください。 たとえば、 ”hoge3hoge5”文字列内の、 半角数字1桁のみを、 正規表現で、全角数字1桁に、それぞれ変換   ↓ ”hoge3hoge5” あわせて、 半角数字が2桁以上、連続で続いている場合には 変換せずに、半角数字のままにしておきたいです。 ”hoge33hoge5”    ↓ 正規表現で、半角数字1桁のみを、全角数字1桁に変換 (半角数字2桁以上は変換しない) ”hoge33hoge5” 以上になります。 もしご存じの方がいらっしゃいましたら、 よろしくお願いします。

  • 2桁の半角数字を全角1字で表示したい

    パーソナル編集長12の横書きで、2桁の半角数字を入力すると、全角2文字分のスペースに表示されます。 ときどき、2桁の半角数字が全角1字の幅に表示されることがありますが、設定なのでしょうか。 常に半角数字は、2桁のときは全角1字のスペースで表示したいのですが、設定できますか? ※OKWAVEより補足:「ソースネクスト株式会社の製品・サービス」についての質問です。

専門家に質問してみよう