8.テキスト中に異種文字が混在していないかを調べる(23_Txt_08) (旧、SampleNo.048) |
1.カタカナ以外が混じっていないかチェック 2.ひらがな以外が混じっていないかチェック 3.半角カタカナが混じっていないかチェック 4.アルファベットが混じっていないかチェック 5.半角英数字以外が混じっていないかチェック 6.上記を関数化してのテスト |
下記プログラムコードに関する補足・注意事項 動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86 Option :[Compare Text] [Explicit On] [Infer On] [Strict On] Imports :追加なし 参照設定:追加なし その他 : : このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので) 必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい) |
1.カタカナ以外が混じっていないかチェック |
図1.下記実行図及び使用コントロール類の配置設定図 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 'カタカナ以外が混じっていないかチェック 'Imports System.Text.RegularExpressions 'Regex.IsMatch メソッド '正規表現と一致する対象が入力文字列内で見つかったかどうかを示します If System.Text.RegularExpressions.Regex.IsMatch(TextBox1.Text, "^\p{IsKatakana}*$") = False Then MessageBox.Show("カタカナ以外が混じっています") TextBox1.Focus() End If End Sub |
2.ひらがな以外が混じっていないかチェック |
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 'ひらがな以外が混じっていないかチェック If System.Text.RegularExpressions.Regex.IsMatch(TextBox2.Text, "^\p{IsHiragana}*$") = False Then MessageBox.Show("ひらがな以外が混じっています") TextBox2.Focus() End If End Sub |
3.半角カタカナが混じっていないかチェック |
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click '半角カタカナが混じっていないかチェック If System.Text.RegularExpressions.Regex.IsMatch(TextBox3.Text, "[\uFF61-\uFF9F]") Then MessageBox.Show("半角カタカナがが混じっています") TextBox3.Focus() End If End Sub |
4.アルファベットが混じっていないかチェック |
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click 'アルファベットが混じっていないかチェック If TextBox4.Text Like "*[a-z,A-Z,a-z,A-Z]*" Then MessageBox.Show("アルファベットが混じっています") TextBox4.Focus() End If End Sub |
5.半角英数字以外が混じっていないかチェック |
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click '半角英数字以外が混じっていないかチェック ' If System.Text.RegularExpressions.Regex.IsMatch(TextBox5.Text, "^[\-\.0-9]+$") = False Then If System.Text.RegularExpressions.Regex.IsMatch(TextBox5.Text, "^[a-zA-Z0-9]+$") = False Then MessageBox.Show("半角英数字以外が混じっています") TextBox5.Focus() End If End Sub |
6.上記を関数化してのテスト |
Private Function fStrTypeCheck(ByVal MyTxt As String, ByVal tp As Int16) As Int16 'Imports System.Text.RegularExpressions Dim chrType As String = "" Select Case tp Case 0 : chrType = "^\p{IsKatakana}*$" 'カタカナ以外が混じっていないかチェック Case 1 : chrType = "^\p{IsHiragana}*$" 'ひらがな以外が混じっていないかチェック Case 2 : chrType = "[\uFF61-\uFF9F]" '半角カタカナが混じっていないかチェック Case 3 : chrType = "*[a-z,A-Z,a-z,A-Z]*" 'アルファベットが混じっていないかチェック Case 4 : chrType = "^[a-zA-Z0-9]+$" '半角英数字以外が混じっていないかチェック Case 5 : chrType = "^\p{IsCJKUnifiedIdeographs}*$" '漢字以外が混じっていないかチェック End Select If chrType.Length = 0 Then Return -1 If System.Text.RegularExpressions.Regex.IsMatch(MyTxt, chrType) Then Return 1 Else Return 2 End If End Function Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click If TextBox6.Modified Then If fStrTypeCheck(TextBox6.Text, 0) = 2 Then MessageBox.Show("カタカナ以外が混じっています") TextBox6.Focus() End If End If End Sub Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click '半角カタカナ以外が混じっていないかチェック If System.Text.RegularExpressions.Regex.IsMatch(TextBox7.Text, "^[\uFF61-\uFF9F]+$") = False Then MessageBox.Show("半角カタカナ以外が混じっています") TextBox7.Focus() End If End Sub |
検索キーワード及びサンプルコードの別名(機能名) |