IBM Support

@関数を使用して半角文字や全角文字を判別する方法

技術情報(FAQs)


質問

Input Validation などでフィールドチェックを行う際に、@関数を使用して半角文字と全角文字を判別する方法はないでしょうか。

回答

@関数では @Matches を使用して、複雑な条件の文字列チェックが可能です。
半角文字と全角文字を判別するには、以下のように使用します。

半角英数字と半角記号を検索文字列のパターンとして表すには、+{ !-~} とします。
これによって ASCII コードで 0x21 (!) から 0x7E (~) までの文字列を文字列パターンとして指定することができます。

半角カナを含める場合は更に ヲ-゚ を追加することによって可能になります。以下の例を参考にして下さい。

1. 半角英数字、半角記号、半角カナ以外の文字が含まれているかどうか

 @Matches("チェックする文字列";"+{ !-~ヲ-゚}")

※ ! の前には必ず半角スペースを入れてください。半角スペースを入れないと、半角スペースを含む文字列で正しく動作しません。

結果:(「」は含みません)
 「あああ abc」: False
 「abc def」: True
 「aaaAA」: False(全角の A を含む)
 「aaa;"3$ %」: True
 「ロータス」: True(半角カナは True)

2. 半角英数字と半角記号以外の文字を含むかどうか

 @Matches("チェックする文字列";"+{ !-~}")

※ ! の前には半角スペースを入れてください。

結果:(「」は含みません)
 「abc def」: True
 「AAabc」: False (全角の A を含む)
 「ロータス」: False (半角カナは False)
 「<>「」abc」: False (全角の「」を含む)

3. 全角以外の文字を含むか

 @Matches("チェックする文字列";"+{! !-~ヲ-゚}")

※ ! と ! の間は半角スペースを入れます。

結果:
 「あああ」: True
 「あああabc」: False
 「ロータス株式会社」: False(半角カナ)
 「ロータス株式会社」: True
 「あああ/いいい」: False(半角の / を含む)

Historical Number

722715

Document information

More support for: IBM Domino Designer
Formula

Software version: 6.0, 6.5, 7.0, 8.0, 8.5

Operating system(s): Windows

Reference #: 1466862

Modified date: 24 March 2010