- ベストアンサー
文字数の制限について
TextBoxの文字数の制限が上手くいかなくて困っています。 ◆問題点1 最大入力文字数を、半角は50文字、全角は25文字と設定したいです。 下記の質問を参考にし、キーボード入力の制限をかけることが出来ました。 質問:テキストボックスへの文字の入力について http://oshiete1.goo.ne.jp/kotaeru.php3?q=287224 しかし、最大文字数が入力されているときに「貼り付け」を行うと 設定以上の文字数が入力されてしまいます。 入力文字数+貼り付け文字数が、最大入力文字数よりも長ければ、 コピーを禁止したいのですが、何か良い方法はございますか? ◆問題点2 MaxLengthに設定した最大文字数よりも1文字分長く、入力できてしまいます。 MaxLength = 4 と設定したTextBox(仮に「Text1」とします)に半角文字を4文字分入力します。 (このとき、ぴったし4文字分キーボードを押下します。) 次に半角文字2文字分をコピーし、Text1のなかの1文字をドラックして貼り付けます。 (ドラックする文字は最後尾以外です。) 上記手順を行うと、Text1には5文字分入力されてしまいます。 どのような処理を行えば、"4文字まで"と必ず制限できますか? 問題点1、2のどちらか一つでも構いませんので、対処法を教えていただけますか? 宜しくお願いいたします。 なお、環境は Microsoft Windows 2000 Microsoft Visual Basic 6.0 です。
- Milk_369
- お礼率100% (5/5)
- Visual Basic
- 回答数2
- ありがとう数3
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
変更前の文字列を取っておいて、 変更後の文字列が最大文字数より大きくなっている場合には、変更前の文字列に戻して、事実上処理をキャンセルするような方法ではどうでしょう。 (つまり、自前で「元に戻す」の処理をやります。 CTRL+Z(標準の処理で)で元に戻すができるかもしれません)
その他の回答 (1)
- BuXiangHua
- ベストアンサー率42% (11/26)
お礼
回答、ありがとうございました。 お礼が遅くなり、申し訳ございません。 参考URLに載っていた方法は、よく知られている事なんですね。 私は、はじめて知りました・・・ BuXiangHuaさんの方法と、#1のBLUEPIXYさんの方法を使用し、問題点が解消されました。 ありがとうございました。
関連するQ&A
- textareaで入力できる文字数を制限したい。
フォームについて質問させてください。 テキストフィールドで、シングルラインならば入力できる文字の最大数を maxlength で指定できるのですが、マルチラインの場合、同様に最大数を指定することはできないでしょうか? わかるかた、なにとぞご教授ください。 ■シングルラインでの文字数制限 <input name="thread_title" type="text" id="thread_title" size="80" maxlength="10"> ■マルチライン <textarea name="text" cols="64" rows="10" id="news_text" maxlength="10"></textarea> ↑上記のようにmaxlength入れても駄目でした。。。涙
- ベストアンサー
- HTML
- テキストBOXの入力制限について
テキストBOXを下記のように設定したとします。 <input type="text"name="***" maxlength="30"> この場合は、全角・半角関係なく文字数を30文字入力することができますよね? 今回、私がやりたいことは、バイト数の制限をやりたいんです。 例えばバイト数を30バイトにした場合は、 全角では15文字しか入力できなくて 半角では30文字入力制限をする方法を探しています。 何かよい方法はないものでしょうか???
- ベストアンサー
- Microsoft ASP
- TextBoxで4文字のみの文字数制限
いつもお世話になります。 Win7 excell2010 です。 ご指導を仰ぎたいのは TextBoxに入力できる文字数を「4」文字以上もしくは以下も入力できないようにしたい。 4文字のみ可能に。 例えば 3文字(4文字以下) もしくは 5文字(4文字以上)の場合は入力はできない。 下記のマクロは5文字以上の時は4文字のみが表示されます。 Private Sub TextBox1_Change() If Len(TextBox1.Text) > 4 Then TextBox1.Text = Left(TextBox1.Text, 4) End If End Sub プロパティ設定 MaxLengthプロパティで 4
- ベストアンサー
- その他MS Office製品
- エクセル2007で文字入力数の制限について質問です
エクセル2007で文字入力数の制限について質問です 全角と半角が混在した文章で全角は1文字、半角は0.5文字で計算して 合計で20文字以内とか設定できませんか? 「データの入力規則」では出来なそうなので。。。 また、20.5文字以内という設定は可能ですか? 簡単な関数でせいげんできれば助かります ご回答よろしくお願いします
- ベストアンサー
- オフィス系ソフト
- テキストエリア文字制限について
テキストエリア文字制限について 失礼します。 javascript初心者です。 複数のテキストエリアの文字制限を行いたく 苦戦しております。 いろいろと検索してみましたが・・・ 2日ほど悩んでおります。 AとBでエラーが出た場合はCGIに流れず入力フォームに戻るのですが Bでエラーが発生しない場合CGIに流れてしまいます。 ですの文字数制限をしても結局CGIに流れてしまうのですが どのように記述すればよろしいでしょうか?? なんとか・・・ご教授いただければ幸いです。 よろしくお願いいたします。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>入力文字数の制限</title> <script language="javascript" type="text/javascript"> <!-- var MAXLENGTH = 10; //入力許容最大文字数 function tareachk(frm){ var tmp = frm.vin1.value; var len = tmp.length; if(len > MAXLENGTH){alert("A入力可能な文字数は"+MAXLENGTH+"文字までです");} var tmp = frm.vin2.value; var len = tmp.length; if(len > MAXLENGTH){alert("B入力可能な文字数は"+MAXLENGTH+"文字までです");} else{frm.submit();} } // --> </script> </head> <body> <form action="ccccc.cgi" method="post"> <textarea name="vin1" rows="5" cols="30">10文字まで入力可能</textarea><br> <textarea name="vin2" rows="5" cols="30">10文字まで入力可能</textarea><br> <input type="button" value="GO" onclick="tareachk(this.form);"> </form> </body> </html>
- ベストアンサー
- JavaScript
- ACCESS 入力文字数制限
初歩的だとは思うのですが フォームで、テキストの入力文字数を制限したいのですが、 方法が良く分からず、出来るのかどうかもわかりません。 エラーチェックとかではなく、たとえば3文字以上ぜったい入れられないように。 (HTMLで言うところのmaxlengthみたいな感じで・・) どなたか教えてください。お願いします。
- 締切済み
- オフィス系ソフト
- テキストボックスの入力文字を16進数のみに制限する
VC++2005、.NET2.0、C++/CLIにてWindowsアプリを作成しています。 テキストボックスの入力文字について、 「00」~「FF」の16進数文字(半角)のみ入力可能としたいのですが、 どうやって制限をかければ良いのでしょうか? また、もし16進数のみの制限が不可能であれば、 半角英数字のみの制限でも良いと考えています。
- ベストアンサー
- C・C++・C#
- EXCEL入力規則で文字数制限
EXCEL2002です。 A列に入力規則をかけ、全角20文字、半角40文字以内にしたいと思っています。 「エクセル技道場→入力規則→全角5文字、半角10文字」を参考にさせていただき、以下の式で入力規則のユーザー設定を行いました。 =AND(ISTEXT(A1),LENB(A1)<=40) この場合、最初の文字が半角の場合に制限数以下でもエラーメッセージが出てしまいます。 最初の文字が全角でも半角でも制限数以下であればエラーメッセージが出ないようにする方法はありますか? よろしくお願いします。 http://www2.odn.ne.jp/excel/waza/validation.html#SEC10
- ベストアンサー
- オフィス系ソフト
- フォーム要素の文字数制限について
それぞれのフォーム要素に文字数(またはバイト数)の制限ってあるんでしょうか? あるとしたら何文字ですか? maxlengthなどで指定する値や、受け取るプログラム側の制限ではなく、HTMLの仕様としての制限についてです。 特に知りたいのが、隠しフィールド(input type="hidden")の文字数制限です。 よろしくお願いします。
- ベストアンサー
- HTML
お礼
回答、ありがとうございました。 お礼が遅くなり、申し訳ございません。 Ctrl + Z はよく使う機能なのに、すっかり存在を忘れていました。 BLUEPIXYさんの方法と、#2のBuXiangHuaさんの方法を使用し、問題点が解消されました。 ありがとうございました。