重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

VB2005 の初心者です。

テキストボックスに入力された文字が日本語(全角も半角も含めて)だったらエラーとしてメッセージボックスを表示させたいのですが、やり方が分かりません。
半角の数字、アルファベットはエラーとしませんが、半角の日本語、全角文字は全てエラーとしたいです。
ヒントになるようなことでも良いですが、できれば実際のコーディングもご教授いただければ幸いです。

皆様の知恵をお借りできればと思います。
よろしくお願い致します。

A 回答 (3件)

正規表現で不許可の文字を探すというのは?


半角の数字、アルファベットはOKなら、0x00~0x7FがOKですね。
なので、それ以外を見つけるとNGということでしょう。

Function CheckJapanese(ByVal CheckWord As String) As Boolean
Dim R As New Regex("[^\x00-\x7F]")
Dim M As Match = R.Match(CheckWord)
CheckJapanese = M.Success
End Function

0x00~0x7F以外の文字を見つけるとTrueが返ります。

参考URL:http://msdn.microsoft.com/ja-jp/library/hs600312 …
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。

System.Text.RegularExpressions というのを初めて知りました。
教えていただいたやり方で、
チェックを実現することができました。

とても勉強になりました。
本当にありがとうございました。

お礼日時:2008/06/20 13:30

半角記号とかが どうなるかは書かれてませんが、それは置いといて…


以下のキーワードについて、ヘルプ等で調べてみてください。

Text.SubString メソッド、または Mid関数
For...Next
Asc関数
ASCII文字コード

ヒントとしては、「Text.SubString(またはMid)で1文字ずつ検査」です。
もうちょっとスマートなやり方もあるかもですが、思いつきません。
あとは…
Select Case xxx
  Case xxx To xxx
End Select
…の形式の条件分岐あたりも知っておくと得かも。
(If文でも判定できなくは ないけど)
だいたい、このぐらいかな?
いきなり あまり細かい事書くと能力がつかないので、とりあえず
このぐらいにしておきます。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。

今回はnda23さんに教えていただいたやり方で実現しましたが、
考え方など、勉強になりました。

ありがとうございました。

お礼日時:2008/06/20 13:35

日本語だったらエラー


全角だったらエラー
と、エラーのパターンが多岐にわたる場合。
半角アルファベット、半角数字 以外は エラー
と頭のなかで 逆の考えていくとすんなり組めますよ。


入力された文字のすべてが、半角英数 のみだった場合 許可
それ以外はエラー

のように組んでください。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。

考え方が誤っていたのですね。
教えていただいたやり方で検討してみます。

ありがとうございました。

お礼日時:2008/06/20 13:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!