• ベストアンサー

TETXの入力制限について色々と…

<input type=text~~~~~~>で作ったテキストに160byte(全角80文字)までしか入力できない制限をつけたい。 <input type=text~~~~~~>で作ったテキストに半角数字(又は英数)しか入れられないようにするタグとかないでしょうかね?? こっちは半角電話番号を入力してもらいたいのです。 どなたかご存知の方おりましたからお願いします。

  • HTML
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • hequil
  • ベストアンサー率65% (242/372)
回答No.2

タグでは上記の要望を満たすものはありません 完璧ではありませんが、JavaScriptを利用した方法を ヒント程度に紹介します。 > 160byte(全角80文字)までしか入力できない制限 下記の関数で文字列のバイト数が取得できます。 function getLenB( str ) {  var i, cnt = 0;  for(i=0 ; i<str.length ; i++) {   if(escape(str.charAt(i)).length < 4){    cnt++;   }else{    cnt+=2;   }  }  return cnt; } > 半角数字(又は英数)しか入れられないようにする これは isNaN関数を使えば数字か否かを調べられます。 あとはこれらのヒントを元に onSubmitやonChange, onBlurイベントなどで入力値をチェックしてあげれば良いかと思います。 理想は送信先のサーバーサイドのプログラムでチェックした方が良いんですけどね。 両方チェックするなら尚良し、ですが(^^) 参考までに

masaichi1212
質問者

補足

<script language=javascript> function(){ textがonchangeの時に   isNanで数字かを判定する } ってな流れでいいんでしょうかね ありがとうございます

その他の回答 (2)

noname#45976
noname#45976
回答No.3

とりあえずMin_2さんと同意見なのですが、もう少し詳しく言うと、MAXLENGTHとはtype=textの属性のことです。 入力文字数制限に使います。 ただ、全角でも半角でも文字数計算で認識しているブラウザがある(IE)ので、確実にバイト計算することは出来ないと思います。 例)6文字まで入力可能にする <input type=text MAXLENGTH=6 value=""> 半角入力チェックについては、JavaScriptやCGIを利用するしかないですね、、、^^; タグでは不可能です。

masaichi1212
質問者

お礼

あはぁぅー。 そうですかぁ。 先にいっておかなければならなかったのですが文字数制限の方は <input type=text じゃなくて<textareaでテキスト作るものでした。 途中でmaxlengthに気付いてtextarea文にmaxlengthを入れてみましたが 効果ありませんでした。。。 そして他ページで探すと「無理」と書いてあったので諦めました。。。

noname#225520
noname#225520
回答No.1

 使ったことはないですが、 MAXLENGTH=nで最大入力文字数、ISTYLE=nでiMode入力時のディフォルト値を指定できるようです。  あとは全角で電話番号を入力されたら、cgi側で半角へ変換すれば良いと思います。

参考URL:
http://tohoho.wakusei.ne.jp/html/input.htm
masaichi1212
質問者

お礼

ご返答ありがとうございました。 入力文字数の方は解決しました。 入力文字種類の方なんですが、PC上での話なんですけれど、 imodeってあの電話のi-modeの話なんじゃないですか? しかも、最初のデフォルトの設定だけで、Alt+半角/全角キーで 変えれてしまい、入力も出来てしまいます。 やっぱりcgiかjavascript使うしかないですか…。

関連するQ&A

  • テキストBOXの入力制限について

    テキストBOXを下記のように設定したとします。 <input type="text"name="***" maxlength="30"> この場合は、全角・半角関係なく文字数を30文字入力することができますよね? 今回、私がやりたいことは、バイト数の制限をやりたいんです。 例えばバイト数を30バイトにした場合は、 全角では15文字しか入力できなくて 半角では30文字入力制限をする方法を探しています。 何かよい方法はないものでしょうか???

  • 入力規則で 英数字の2桁-4桁という制限を設けたいのですが。。。

    function btn1_onclick() { if(document.input1.Tel.value.search(/^\d{4}$/) != 0){ alert("電話番号を半角英数で入力して下さい。"); } } のようなロジックをならったのですが, 現在はsearchメソッドで半角数字の4桁という制限になっています。 (4文字以上でも以下でもだめ) 2~4文字で半角数字と制限したいのですがどうすればよいでしょうか? よろしくお願い致します。

  • テキストボックスの初期値について

    テキストボックスを配置したのですが 「<INPUT type="text"・・・」 となっているためブラウザで入力するときに初期値が全角日本語文字になってしまいます。 半角数値しか入力しないテキストボックスなので初期値を半角数値(または英数字)にしたいのですが出来るのでしょうか? 検索などをかけて調べてみたのですがそれらしいタグが見つからなかったので質問させていただきました。

    • ベストアンサー
    • HTML
  • パソコン入力に付いて

    入力の半角英数と全角英数で半角英文字は全角と切り替え出来て問題無いんですが半角数字だけ切り替えが出来ないんですがやり方教えてくれたら助かります。 半角.全角.ひらがなでやってみて数字だけは全く反応無しで同じなんですが、 今迄懸賞等の入力に何らエラー等で無いので全角.半角で数字も切り替わってると思ってましたが今日通販で買い物仕様として入力してたら数字は半角でとエラー出て何回試しても先に進みませんので教えて下さい、数字半角表示の仕方。

  • 入力モード 自動 切り替え

    フォームでの入力モードを自動的に切り替えたいと考えています。 ・全角ひらがな ・全角カタカナ ・半角英数 をそれぞれのフォームで自動的に入力モードを切り替えたいです。 以下のjavascriptでMS-IMEのみ全角、半角の切り替えが可能なようですが、MAC環境や全てのユーザーに対して制御できる方法は無いでしょうか? <script type="text/javascript"><! function set_imemode(myobj, mymode){ switch(mymode){ case 0: myobj.style.imeMode = "inactive"; break; case 1: myobj.style.imeMode = "active"; break; default: break; } } // ></script> お名前(全角) <INPUT name="name" type="text" value="" onFocus="set_imemode(this, 1)"><br> 電話番号(半角) <INPUT name="tel" type="text" value="" onFocus="set_imemode(this, 0)">

  • 入力文字制限の方法

    質問なんですが・・・ 氏名<input type="text" name="name" value="" id="name"> というテキストボックスがあるんですが、これに全角ひらがな(文字)以外で入力して送信された場合に全角で入力するよう、alertを返す処理をしたいのですが、文字指定の処理の記述などを教えていただけないでしょうか?正規表現などがあったのですがよくわからなかったので、お願いします><

  • エクセルのセルに入力文字の制限

    エクセルのセルに文字の制限をしたいのですが、例えばA1セルには半角英数、B1セルにはひらがな、C1セルには半角カタカナという感じでキーボートの半角/全角や英数キーを変更しなくても入力出来る方法がありましたら教えて下さい。宜しくお願いします。

  • Access97:漢字を除いて全角文字の入力を禁止するには

    使う文字 漢字、半角英数、半角カタカナ、半角括弧() 禁止文字 全角英数、全角カタカナ ひらがな どうやったら入力制限出来るでしょうか?

  • テキストボックスの入力制限

    VB2005環境です。 ・全角文字のみ入力を受け付けるテキストボックス ・半角文字のみ入力を受け付けるテキストボックス 以上のような入力制限を持つコントロールを用意したいと思っています。 MaskedTextBoxを用いればできるかと思いましたが、それらしき プロパティが見当たりませんでした。 やはりキーイベントを取得して…ということになるのでしょうか?

  • inputでの文字種類制限

    郵便番号、電話番号に使う文字の種類を制限したいのだけど、 どうすればいいですか? <html> <body> <form action="./aa.cgi" method="post"> <input type="text" name="郵便番号" size="15" pattern="[0-9-]" title="郵便番号は、数字およびハイフン(-)のみで記入してください。"><br> <input type="text" name="電話番号" size="15" pattern="[0-9+-()]" title="電話番号は、数字、-+()のみで記入してください。"><br> <input type="submit" value="確認"> </form> </body> </html>

専門家に質問してみよう