値をチェックしたい

このQ&Aのポイント
  • 初心者が値をチェックするための方法について困っています。全角かな文字以外は不可なテキストと、数字と少数点以外は不可なテキストを作りたいのですが、うまく作動しません。
  • 値をチェックするための実装がうまくいっていません。空文字やスペースのチェック、全角かな文字のチェック、数字と少数点のチェックが正常に機能するようにしたいです。
  • チェックする値を作成し、空文字やスペース、全角かな文字、数字と少数点のチェックを行いたいですが、うまく動作しません。初心者なので、解決策がわかりません。
回答を見る
  • ベストアンサー

値をチェックしたい

まったくの初心者で困っています。 それぞれ二つのテキストに、 1.空文字不可。全角かな文字以外は不可 2.空文字不可。数字と少数点以外は不可(全角の数字でも可) をつくりたいのですが、うまく作動しません。 実際のソースです↓ function check_null(){ var i; var tex = document.SForm.name.value; var tex1 = document.SForm.kukan.value; if(tex.length == 0||tex1.lenght == 0){ alert("入力されていません"); return false; }else if(tex ===" " || tex1 ===" " || tex ===" " || tex1 ===" "){ alert("スペースが入っています"); return false; }else{ return true; } } function checkHankaku(keyCode) { var a = keyCode; if(((a < 48) || (a > 57)) && a != 44 && a != 46 && a != 8){ alert("距離に数値以外の値が入っています"); return false; } } <html:form action="Addition.do" method="post" onsubmit="return check_null()"> <html:text maxlength="10" property="name" size="20"/><br> <html:text maxlength="5" property="kukan" size="10" onkeydown="checkHankaku(event.keyCode)"/><br> <html:submit value="送信"/> また、全角かなチェックのほうは、どうすればいいかもわからない状態なので、 何か良い方法がありましたらお願いします。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

if(tex.match(/[^ぁ-ん]/)){ //んの代わりにうに濁点の方がいい? alert("全角かな文字でない文字が含まれている"); return false; } if(!tex1.match(/^[++]?[0-90-9]+[..]?[0-90-9]*$/)){ alert("正の数字でない"); return false; }

ringo50
質問者

お礼

このソースを参考に動かしてみたら、うまく動きました。 ありがとうございました。

関連するQ&A

  • フォームのチェックについて

    今、フォームの送信ボタンを押すとチェックする 関数を作成しております。 function restChar() { if(10000 < document.F1.ご質問内容.value.length) window.alert("ご質問内容は全角5,000字以内でお願いします"); } function check(){ var flag = 0; if(document.F1.name.value == ""){ // 「お名前」の入力をチェック flag = 1; } else if(document.F1.kana.value == ""){ // 「パスワード」の入力をチェック flag = 2; } else if(document.F1.mail.value == ""){ // 「コメント」の入力をチェック flag = 3; }      else if(document.F1.ご質問内容.value == ""){ // 「コメント」の入力をチェック flag = 4; } if(flag == 1){ window.alert('お名前を入力してください'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 } if(flag == 2){ window.alert('フリガナを入力してください'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 } if(flag == 3){ window.alert('メールアドレスを入力してください'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 }      if(flag == 4){ window.alert('ご質問内容を入力して下さい'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 } fOBJ = document.F1.mail.value; check = /.+@.+\..+/; if (!fOBJ.match(check)){ window.alert("メールアドレスが正しくありません"); return false; // 送信を中止 } fOBJ = document.F1.ご質問内容.value.length; if(10000 < fOBJ){ window.alert("ご質問内容は全角5,000字以内でお願いします"); return false; // 送信を中止 } return true; // 送信を実行 } こんな感じです。 1-4のチェックは問題ないのですが、 アドレスと文字数のチェックは、一度は ダイアログがでますが、連続で押すと通ってしまいます。 何がわるいのでしょうか?

    • ベストアンサー
    • Java
  • チェックボックスの選択チェック

    ラジオボタンの選択チェック、セレクトボタンの選択チェックのあとにチェックボックスの選択チェックをしたいのですが、どのように入れればよいのでしょうか。教えてください。 ↓参考までに↓ function check() { var flag=0; if( document.form1.seibetu.length){ flag=1; var i; for(i=0; i<document.form1.seibetu.length; i++) if(document.form1.seibetu[i].checked)flag=false; } if(flag){ alert('性別が選択されていません'); return false; } if(document.form1.nenrei.value=="")flag=true; if(flag){ alert('年齢が選択されていません'); return false; } if( document.form1.Q1.length){ flag=1; var i; for(var i=0; i<document.form1.Q1.length; i++) if(document.form1.Q1[i].checked)flag=false; if(flag){ alert('Q1が選択されていません'); return false; } else {★★★ここに入れたい★★★   ;} } }

  • 【validation.xml】長さの入力チェック

    いつもお世話になっております。 validation.xmlを使用しての長さ入力チェックについてご教授ください。 validation.xmlで、下記の指定をした場合、文字列の長さが100でチェックがかかりますが(半角でも全角でも)、 文字数ではなくバイトでチェックをかける方法はどのように記述すればよろしいでしょうか? <form name="TestForm">  <field property="freearea" depends="maxlength">   <arg0 key="フリーエリア" resource="false"/>   <arg1 key="${var:maxlength}" resource="false"/>   <var>    <var-name>maxlength</var-name>    <var-value>100</var-value>   </var>  </field> </form>

  • 一括で入力のチェックをしたいのです!

    どなたか教えてください・・・ フツー入力チェックを行う場合 <SCRIPT language="JavaScript"> <!-- function Check(){ if(document.myform.Name.value==""){ alert("名前を入力してください。"); return false; } if(document.myform.Email.value==""){ alert("Eメールアドレスを入力してください。"); return false; } if(document.myform.Email.value.indexOf("@")<=0){ alert("Eメールアドレスが正しくありません。"); return false; } if(document.myform.Comment.value==""){ alert("コメントを入力してください。"); return false; } return true; } // --> </SCRIPT> こんなカンジで各フォーム毎にチェックを行い メッセージを出したりすると思うのですが、 フォーム数が多いため、入力のチェックを 一括で行いたいのですが・・・ JavaScriptを始めて間もないため とんちんかんな質問をしている様でしたら すみません。 どなたか入力チェックを一括で出来る方法を 教えて頂けないでしょうか・・・ お願いします。

  • checkbox の入力チェックのやり方について

    お世話になります。 フォームにて、 javascriptで、入力チェックをおこないたいと思っています。 チェックボックスについては、どれか選択が一つでもなければ、アラートで、文字を出したいと思いますが、うまくできません。 チェックボックスの入力確認の方法を教えてください。 よろしくお願いいたします。 現在作りかけのソースは、下記の通りです。 <html> <head><title>-</title></head> <body> <form method="post" action="" onsubmit="return form_Validator(this)"> <input type="text" name="a1" size="15" maxlength="12"> <BR> <input type="checkbox" name="a1001" value="1"> <input type="checkbox" name="a1002" value="1"> <input type="submit" value="登録" name="submit"> </form> <script Language="JavaScript"> <!-- function form_Validator(doc) { if ( doc.a1.value == "" ) { alert( "BAD" ); return false; } /* a1001かa1002のチェックボックスのチェックがなければアラート----*/ return (true); } //--> </script> </body> </html>

  • 入力文字チェックについて

    JavaScript初心者です。よろしくお願いします。入力された文字のチェックを行いたいと考えています。図面名を入力して、登録ボタンを押すと採番されるシステムで、1つだけ採番が可能なものと最大50個迄一括で採番が出来るものと2つあります。1つだけ採番であれば、下記にある通りで問題はないのですが、50個迄一括で採番する方ではエラーが表示されます。 エラー;'document.iform.zumen_mei.value'はNullまたはオブジェクトではありません。 入力文字チェック <SCRIPT language="JavaScript"> <!-- function zumenmeicheck() { var str = document.iform.zumen_mei.value; if( str.match( /[,,~1-99A-Zア-ン]+/ ) ) { alert("図面名にカンマ、~、英数字が全角で入力されている可能性があります。確認してください。"); return 1; } return 0; } function AllCheck() { var check = 0; check += zumenmeicheck(); if( check > 0 ) { return false; } return check; } //--> 図面名が最大で50個存在するもの Response.Write "<FORM NAME=""iform"" ACTION="" ./fukuzuban-2.asp"" METHOD=""POST"">" For i=1 To 50 Response.Write "<TR><TD><INPUT TYPE=""TEXT"" STYLE=""background-color:skyblue"" NAME=""zumen_mei" & i & """ MAXLENGTH=""100"" SIZE=""40"" onblur=""zumenmeicheck();"">" Next Response.Write "<INPUT TYPE=""SUBMIT"" VALUE="" 登録 "" onClick=""return AllCheck();"">" 色々と調べてはみましたが、解決出来ませんでした。何卒よろしくお願いします。

  • checkbox必須チェック

    function hissuCheck(form) { var paramArray = Array("…24個"); var alrtArray = Array("…24個"); var len = paramArray.length; for(i=0; i<len; i++) { var obj = form.elements[paramArray[i]]; if(obj.type == "text") { if(obj.value == "") { alert(alrtArray[i]+"は必須入力です"); form.elements[paramArray[i]].focus(); return false; } } else if(obj.type == "select-one" || obj.type == "select-multi") { for(varSelected=0, j=0; j<obj.options.length; j++) { if(obj.options[j].selected)varSelected+=obj.options[j].value; } if(varSelected == 0) { alert(alrtArray[i]+"は必須入力です"); form.elements[paramArray[i]].focus(); return false; } } else { for(varChecked=0, k=0; k<obj.length; k++) { if(obj[k].type == "checkbox") { if(obj[k].checked)varChecked++; } } if(varChecked == 0) { alert(alrtArray[i]+"は必須入力です"); return false; } } } return true; } 必須チェックですが、最後のチェックボックスだけがチェックしても「…は必須です」とアラートが表示されてしまいます。どうか宜しくお願いします

  • 正規表現を使って入力チェックを行う

    JavaScriptで正規表現を用いて半角英数入力チェックを行いたいのですが、うまくいきません。 ご協力お願いします。 --【1】------------------------------------------------- if((element2.value.match(/^[^0-9a-zA-Z]$/)){  document.FORM01.in_AAA.value="";  return false; } ------------------------------------------------------- 【1】では、半角、全角に関わらず正常に処理が行われます。 --【2】------------------------------------------------- if(!element2.value.match(/^[^0-9a-zA-Z]$/)){   document.FORM01.in_AAA.value="";   return false; } ------------------------------------------------------- 【2】にすると、半角、全角ともエラーとなってしまいます。 どのようにすれば、実装できるのでしょうか。 皆さん、よろしくお願いします。

  • チェックボックスのチェックについて

    submit時に一つでもチェックがなければアラートを表示 チェックがあれば進む・・・としたいです。 <form action=next.html name=form1> <input type=checkbox name=checkbox1 value=1> <input type=checkbox name=checkbox2 value=2> <input type=checkbox name=checkbox3 value=3> <input type=checkbox name=checkbox4 value=4> <input type=checkbox name=checkbox5 value=5> ~以下50まで続きます <input type=submit value=submit> </form> function countChecked(form1) { var total = 0; var max = 50; for (var index = 0; index < form1.checkbox.length; index++) { total += form1.checkbox[index].checked ? 1 : 0; } if(countChecked(document.form1)) > 0) { return true; } else { alert("no"); return false; } return(total); } 過去に似たような質問を参考に作ってみましたがダメでした。 チェックボックスの名前の付け方が悪いのでしょうか。

  • メールアドレスの入力チェックをして、正しくなければ戻る方法

    今、フォームを作っているところなのですが、 各必須事項は入力されていないと戻るように設定していますが、同じ形でメールアドレスもチェックしたいのですが、その際にxxx@***.xxxという正規の形でないと引っ掛かるようにしたいのですが、どうすればよいでしょうか?お分かりの方、是非教えてください。 よろしくお願いします。 -------------------------------------------- 現在のスクリプトは以下のような感じです。 これでは、大文字などでメールアドレスを入れられてもチェックを通してしまいますので。。 function check(){ if(document.FF.お名前_漢字.value == ""){ alert("お名前_漢字を入力してください"); document.FF.お名前_漢字.focus(); return(false); } if(document.FF.住所.value == ""){ alert("住所を入力してください"); document.FF.住所.focus(); return(false); } if(document.FF.email.value == ""){ alert("メールアドレスを入力してください"); document.FF.email.focus(); return(false); } return(true); } -------------------------------------------- そして送信ボタンを押すと、このスクリプトが働くように、 onSubmit="return check()" を設定しています。

専門家に質問してみよう