• ベストアンサー

半角カナだけが入力できる<input type="text">は可能?

半角カナだけ入力できるテキストボックスは 作成可能でしょうか? Vbscript だけを使って実現したいと思います。

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

  • ベストアンサー
  • you111111
  • ベストアンサー率45% (20/44)
回答No.2

ちょっと面倒なやり方ですが、以下の様なものはいかがでしょう? テキストボックスのonblurイベント時にVBScriptでチェックしています。 ----サンプル----- <html> <head> <title>半角カナチェック</title> <script language="vbscript"> Function KanaCheck(strTarget) Dim obj, i, strChar, intAscBuff For Each obj in frm1 If InStr(obj.name, strTarget) > 0 then For i = 1 To Len(obj.value) strChar = Mid(obj.value, i, 1) intAscBuff = Asc(strChar) If intAscBuff < Asc("ア") Or intAscBuff > Asc("ン") Then If Not (intAscBuff = Asc("゛") Or _ intAscBuff = Asc("゜") Or _ intAscBuff = Asc(" ") Or _ intAscBuff = Asc("(") Or _ intAscBuff = Asc(")") Or _ intAscBuff = Asc("-") Or _ intAscBuff = Asc(",") Or _ intAscBuff = Asc(".") Or _ intAscBuff = Asc("\") Or _ intAscBuff = Asc("/") Or _ intAscBuff = Asc("「") Or _ intAscBuff = Asc("」")) Then If intAscBuff < Asc("A") Or _ intAscBuff > Asc("Z") Or _ intAscBuff < Asc("0") Or _ intAscBuff > Asc("9") Then KanaCheck = False msgbox obj.name & "は半角カナ文字のみの入力となります。" Exit Function End If End If End If Next End If Next KanaCheck = True End Function </script> </head> <body> <form name="frm1" method="post"> <input type="text" name="txt1" onblur="KanaCheck('txt1')"> <input type="text" name="txt2" onblur="KanaCheck('txt2')"> <input type="text" name="txt3" onblur="KanaCheck('txt3')"> </form> </body> </html>

GBSGBS
質問者

お礼

おぉ~~~、すごいです。 早速ためさせてもらいます。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • you111111
  • ベストアンサー率45% (20/44)
回答No.3

#2です。 補足です。 サンプルをそのまま使うとAsc("")の中身が全角になってしまうものが一部あるので半角に直してください。

GBSGBS
質問者

お礼

わざわざありがとうございます。 助かります。

すると、全ての回答が全文表示されます。
  • utatane
  • ベストアンサー率33% (86/254)
回答No.1

スクリプト言語だけでは、入力チェックも難しいのでは・・・・ また、ASPを扱うのに”半角カナ”は普通使わないようにする物だと思っていますが^^;逆にどうなんでしょう?

GBSGBS
質問者

お礼

回答ありがとうございます。 半角カナってやっぱりWEB上では使わない ものなのでしょうか?・・。

すると、全ての回答が全文表示されます。

関連するQ&A