出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
![]() ![]() ![]() ![]() ![]() |
![]() ![]() |
![]() ![]() ![]() ![]() |
[4955] 入力不可能文字の判定 |
投稿者:ASP初心者さん 2005/03/17 15:47:36 |
お世話になります。 先日はありがとうございました。 あれから、試行錯誤しながら進めていますが、 あと1カ所のところで困っております。 やりたい事は、以下になります。 例1:ひらがなでの入力を必須とする →「ふりがな」のように、ひらがなで入力されたもの以外はエラーを返す 例2:数字での入力を必須とする →電話番号のように、数字で入力されたもの以外はエラーとする この場合の判定は、どのように行えばいいのでしょうか。 ご指導宜しくお願いいたします。 |
[4956] Re:入力不可能文字の判定 |
投稿者:ryuさん 2005/03/17 16:06:33 |
どもです。 入力不可文字の判定は、クライアント側で行なうので良いのですよね? テキストボックスを使用されているのであれば、テキストボックスからフォーカスが外れた際に文字判定を行なう事ができます。 例えば(半角の数字以外はエラーにする場合)、、、 <INPUT TYPE="text" name="AAA" onBlur="_onBlur(this)"> --JS部分-- function _onBlur(obj){ var str = obj.value; if( str == "" ) return true;//何も入力していなければエラーに引っかからないように設定してます。 if(obj.name == "AAA") { if(str !== "") {//↑入力文字があるかの判定 if(isNaN(num = str)) {//↑入力文字がナンバー型かの判定 alert("半角数字で記入してください");//ナンバー型じゃない場合 obj.focus();// } return false;//ナンバー型じゃなければフォーカスをはずさない(AAAのテキストボックスから出られない) } } } といった事はできますよ。 あとは、必要に応じて、ひらがなの時とか半角全角の判定とかで、条件を変えれば良いと思います。 > お世話になります。 > > 先日はありがとうございました。 > あれから、試行錯誤しながら進めていますが、 > あと1カ所のところで困っております。 > > やりたい事は、以下になります。 > > 例1:ひらがなでの入力を必須とする > →「ふりがな」のように、ひらがなで入力されたもの以外はエラーを返す > > 例2:数字での入力を必須とする > →電話番号のように、数字で入力されたもの以外はエラーとする > > この場合の判定は、どのように行えばいいのでしょうか。 > > ご指導宜しくお願いいたします。 |
[4957] Re:入力不可能文字の判定 |
投稿者:ASP初心者さん 2005/03/17 17:53:27 |
お世話になります。 すみません、説明不足でした。 入力不可文字の判定は、サーバ側で行います。 (error.aspという形で作って、まとめてそちらで表示します) で、判定はJavaScriptを使わずにASPで判定、との事です。 宜しくお願い申し上げます。 > どもです。 > > 入力不可文字の判定は、クライアント側で行なうので良いのですよね? > テキストボックスを使用されているのであれば、テキストボックスからフォーカスが外れた際に文字判定を行なう事ができます。 > > 例えば(半角の数字以外はエラーにする場合)、、、 > > <INPUT TYPE="text" name="AAA" onBlur="_onBlur(this)"> > > --JS部分-- > function _onBlur(obj){ > var str = obj.value; > if( str == "" ) return true;//何も入力していなければエラーに引っかからないように設定してます。 > if(obj.name == "AAA") > { > if(str !== "") > {//↑入力文字があるかの判定 > if(isNaN(num = str)) > {//↑入力文字がナンバー型かの判定 > alert("半角数字で記入してください");//ナンバー型じゃない場合 > obj.focus();// > } > return false;//ナンバー型じゃなければフォーカスをはずさない(AAAのテキストボックスから出られない) > } > } > } > > といった事はできますよ。 > > あとは、必要に応じて、ひらがなの時とか半角全角の判定とかで、条件を変えれば良いと思います。 > |
[4959] Re:入力不可能文字の判定 |
投稿者:ryuさん 2005/03/18 9:20:45 |
あう、、、↑に書いたのはASPの中にJSを埋め込んだものなのですが、、、、(自分の説明の仕方が悪かったかも) 詳しく書いちゃうと、以下のように記述しているのですが、、、 (以下AAA.aspの中にまとめて記述してます・・・クライアントに表示される画面もAAA.aspです) <%@ Language=VBSCRIPT%> <% %> <html> <head> <TITLE>AAA.asp</TITLE> <SCRIPT language="JavaScript"> <!-- /*テキストボックスに入った文字列のチェック*/ function _onBlur(obj) { var str = obj.value; if( str == "" ) return true;//何も入力していなければエラーに引っかからないように設定してます。 { if(obj.name == "AAA") { if(str !== "") {//↑入力文字があるかの判定 if(isNaN(num = str)) {//↑入力文字がナンバー型かの判定 alert("半角数字で記入してください");//ナンバー型じゃない場合 obj.focus();// } return false;//ナンバー型じゃなければフォーカスをはずさない(AAAのテキストボックスから出られない) } } } } //--> </SCRIPT> </head> <BODY> <INPUT TYPE="text" name="AAA" onBlur="_onBlur(this)"> </BODY> </html> これで、AAAというテキストに数字以外が放り込まれたのでalert出して警告させています。 というように、ASPにJS部を埋め込んでいるのです。 これではダメなんでしょうか? う〜ん、サーバー側ってことは、判定せずに、一度取り込んでしまうという事なのかな??? 変数か何かにもたせて、取り込んでから、文字を調べて、エラーなら、、、元の画面に戻す、、、とか、、、エラー専用の画面を表示させる、、、とかでしょうか? |
[4960] Re:入力不可能文字の判定 |
投稿者:Lightningさん 2005/03/20 17:53:50 |
> 例1:ひらがなでの入力を必須とする > →「ふりがな」のように、ひらがなで入力されたもの以外はエラーを返す 一文字づつに分解してアスキーコードで調べるとかかな、あとは正規表現が使える・・・といいなあ。 BASPなんかを使って[ぁ-ん]*でひらがなが引っ張れそう。 ということはこれ以外がヒットすればアウトにすればいいわけで・・・ ちょっと調べたら http://www.atmarkit.co.jp/fdotnet/dotnettips/054iskana/iskana.html こんなことも書いてありました > 例2:数字での入力を必須とする > →電話番号のように、数字で入力されたもの以外はエラーとする 数字の判定はisNumericあたりを使ってください。 問題はマイナスが通ることと、電話番号の場合は0120-05や(0120)のような書き方をする方がいる可能性を排除するか、対応する必要がありますね。 |
TreeBBS For ASP V.0.1.3 |