tagCANDY CGI VBレスキュー(花ちゃん) - 文字列のアルファベットをチェック(VB6.0) - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
文字列のアルファベットをチェック(VB6.0)
元に戻る スレッド一覧へ 記事閲覧
このページ内の検索ができます。(AND 検索や OR 検索のような複数のキーワードによる検索はできません。)

文字列のアルファベットをチェック(VB6.0) [No.84の個別表示]
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
日時: 2009/12/27 12:49
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[文字列処理][応用コード][]                                          *
* キーワード:英字,検索,正規表現,カタカナ,ひらがな,英数,半角カタカナ              *
***********************************************************************************

元質問:文字列のアルファベットをチェック - たかし  2004/05/19-18:08 No.9010

テキストの中にアルファベットが含まれているかどうかを調べるにはどうしたらいいのでしょうか?
コマンドボタンを押したときにメッセージがでて警告を促す形です。
Instr関数を使ってどのようになるのでしょうか?

-------------------------------------------------------------------------
Re: 文字列のアルファベットをチェック - 花ちゃん  2004/05/19-19:11 No.9013
-------------------------------------------------------------------------

> テキストの中にアルファベットが含まれているかどうかを
大文字・小文字・全角・半角 等がありますが?

> Instr関数を使ってどのようになるのでしょうか?

では、大変でしょう。
大文字・小文字・全角・半角 等の条件や使用状況や後の処理等細かい条件で
色々やり方が変ってくるかと思うのですが、一般的には1文字づつ調べるかと
思います。(最近では正規表現を使った方法も見かけます)

一番単純な方法
Private Sub Command1_Click()
    Dim s As String
    Dim i As Integer
    s = "123aあいうA花A456z"
    For i = 1 To Len(s)
        If fAlphabetCheck(Mid$(s, i, 1)) = True Then
            MsgBox i & "番目の[" & Mid$(s, i, 1) & "]は、英字です"
        End If
    Next i
End Sub

Private Function fAlphabetCheck(ByVal MyText As String) As Boolean
    Dim s1 As String
    s1 = UCase(MyText)
    s1 = StrConv(s1, vbNarrow)
    If s1 >= "A" And s1 <= "Z" Then
        fAlphabetCheck = True
    End If
End Function

メンテ

Page: 1 |

文字列のアルファベットをチェック(VB6.0)_1  (No.1の個別表示) [スレッド一覧へ]
日時: 2011/04/05 13:14
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[文字列処理][応用コード][]                                          *
* キーワード:英字,検索,正規表現,カタカナ,ひらがな,英数,半角カタカナ              *
***********************************************************************************

--------------------------------------------------------------------------
Re: 文字列のアルファベットをチェック - Starfish  2004/05/23-02:13 No.9032
--------------------------------------------------------------------------

Instr関数は使っていませんが、こんなのはどうでしょう

Private Sub Command1_Click()
    
    If Text1.Text Like "*[a-z,A-Z,a-z,A-Z]*" Then
        MsgBox "アルファベットが入っています"
    End If
    
End Sub
メンテ
文字列のアルファベットをチェック(正規表現を使った方法)(VB6.0)_2  (No.2の個別表示) [スレッド一覧へ]
日時: 2011/04/05 13:15
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[文字列処理][応用コード][]                                          *
* キーワード:英字,検索,正規表現,カタカナ,ひらがな,英数,半角カタカナ              *
***********************************************************************************

正規表現を使った方法

下記も必ず見ておいて下さい。
http://hanatyan.sakura.ne.jp/logbbs/wforum.cgi?mode=allread&no=9142&page=150

Microsoft VBScript Regular Expressions 5.5 を参照設定して下さい
---------------------------------------------------------------
正規表現を使った方法    花ちゃん 2007/07/13
---------------------------------------------------------------

Private Sub Command1_Click()
    Dim Reg As New RegExp
    Reg.Pattern = "[\A-\Z,\a-\z,\A-\Z,\a-\z]"
    If Reg.Test(Text1.Text) Then
        MsgBox "英字が混じっています"
    End If
End Sub
メンテ

Page: 1 |

 投稿フォーム               スレッド一覧へ
題  名 スレッドをトップへソート
名  前
パスワード (記事メンテ時に使用)
投稿キー (投稿時 投稿キー を入力してください)
コメント

   クッキー保存   
スレッド一覧へ