Salesforceでは、ユーザーが入力するデータの形式を制御するために、入力規則を使用できます。この記事では、正規表現(regex)関数を用いて半角英数・カタカナのみを許可する入力規則の設定方法について詳しく解説します。
Salesforceの入力規則で半角英数・カタカナのみなどのバリデーションをかけるには
Salesforceを使っていると、テキスト型の項目で、半角英数やカタカナのみ、など文字の表記の形式を統一したい場合があります。具体的には以下のようなシーンがあると思います。
- 半角英数字のみを許可: ユーザーIDやパスワードなど、特定の形式に制約を持たせたい場合。
- カタカナのみを許可: 名前のフリガナなど、日本語の特定の表記形式を統一したい場合。
- 特定のパターンを許可: 郵便番号や電話番号など、決まった形式に従わせたい場合。
これらのシーンで、入力規則を設定するために便利なのが、REGEX(正規表現)関数です。正規表現を使用することで、文字列が特定のパターンに一致するかどうかを評価し、データの一貫性を保つことができます。
REGEX(正規表現)関数とは?
REGEX関数は、文字列のパターンマッチングを行うための記述法です。regect(拒絶)から来ており、リジェックスなどと読みます。
Salesforceでは、REGEX関数を使用して文字列が特定のパターンに一致するかどうかを評価できます。これにより、データ入力時に特定の形式を強制することが可能になります。
以下のように記述します。数式作成画面にて、「テキスト項目」のところにはテキスト型の項目を差し込みます。「正規表現パターン」のところにはこれから紹介する縛り用の数式を書いていきます。
REGEX(テキスト項目, 正規表現パターン)
Salesforceの入力規則でそのまま使用できるregex関数の例文5つ
Salesforceの入力規則でそのまま使用できるregex関数の例文を5つ紹介していきます。
半角英数字のみを許可
NOT(REGEX(項目名, "^[0-9A-Za-z]+$"))
この正規表現は、文字列が特定のパターンに一致するかどうかをチェックするために使用されます。具体的には、このパターンは「半角英数字のみで構成された文字列」を検証します。以下に各部分の詳細を説明します。
- ^(キャレット):文字列の先頭を意味します。
- [0-9A-Za-z]:0-9 は数字、A-Z は大文字のアルファベット、a-z は小文字のアルファベットを表します。
- +:直前の文字か文字セットが1回以上繰り返されることを意味します。
- $:文字列の末尾を示します。
全角カタカナのみを許可
NOT(REGEX(項目名, "^[ァ-ヶー]+$"))
- 角括弧内の文字セットを示します。この場合、全角カタカナ文字(ァ から ヶ まで)および長音記号(ー)を含みます。
メールアドレスのバリデーション
NOT(REGEX(項目名, "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$"))
- {2,}は.comや.jp部分が2文字以上の長さであることを確認しています。
日本の郵便番号(半角数字とハイフン)のバリデーション
NOT(REGEX(項目名, "^\\d{3}-\\d{4}$"))
- \\d{3}で3桁の数字、\\d{4}で4桁の数字を表します。(¥¥でも\\でも同じ意味になります。)
電話番号にハイフンを入れるバリデーション
NOT(REGEX(項目名, "^\\d{2,4}-\\d{2,4}-\\d{4}$"))
- \d{2,4}で2文字以上4文字以下を表します。
まとめ
regex(正規表現)関数はSalesforceの中だけのものではなく、IF文のように様々なシステムで使われる関数ですので、検索すればSalesforce系の記事に限らず様々な例文を見つけることが出来ます。
最初はとっつきにくいかもしれないですが、調べれば色々出てくるので、徐々に使いこなせるとよさそうですね。