取引先名の入力時、英数字とカタカナの全角入力を禁止したい

取引先名の入力時、英数字とカタカナの全角入力を禁止したい

入力の仕方にばらつきがあってはいけない取引先名。REGEXで全角の入力を阻止します。
取引先名の入力時、英数字とカタカナの全角入力を禁止したい
2
取引先名の入力時、英数字とカタカナの全角入力を禁止したい
Admin
2020/09/11 11:07:48
※こちらは過去に公開していたブログからの移行記事です。

関数 REGEX を使用します。

REGEX(Name, ".*[0-9A-Za-zァ-ヴ].*")

この正規表現で、「取引先名の入力時、英数字とカタカナの全角入力の場合にエラーとなる」入力規則が動きました。
※全角スペースは入力できるので、もし全角スペースも入力を制限したい場合は「 」(全角スペース)を「ヴ」の後に付け加えます。



使用している正規表現

・0-9 → 全角数字
・A-Z → 全角大文字アルファベット
・a-z → 全角小文字アルファベット
・ァ-ヴ → 全角カタカナ
・. → 任意の1文字 ( ただし、改行コードとはマッチしません。改行コード以外の1文字を示します)
・* → 直前の1文字の0回以上の繰り返し


構成と意味

「.*」+「全角の英数字とカタカナ」+「.*」にて「.*」は任意の0文字以上の文字列を示すため、たとえば「AAA株会社」でも「株式会社AAA」の並びでも(全角の英数字とカタカナ以外の文字列がどの位置にあっても)、全角の英数字とカタカナが含まれているかどうかを確認できます。

つまり、以下のような構成になっているため、どのような文字の並びであっても、全角の英数字とカタカナを確認できるようになっています。

全角の英数字カタカナ以外の文字列が0文字以上 + 全角の英数字とカタカナ + 全角の英数字カタカナ以外の文字列が0文字以上


失敗例

NOT ( REGEX( Name, "^[a-zA-Z0-9]+$" ) )

の入力規則を作成したところ、「株式会社AAA」など、全角と半角の文字が混在している場合、適応されませんでした。
以下の数式もNG!

REGEX(Name__c , "[^ -~。-゚]*")

REGEX( Name , "^[a-z]*$")
gilde tech(for Salesforce)」に入会しませんか?
登録すると、「gilde tech」に掲載されているSalesforceのノウハウを全部閲覧できるだけでなく、自分が知っている知識を発信し、他の会員と交流することもできます。
またSalesforceの知識習得に役立つイベント情報も得ることができます。
是非ここで得た知識を業務に活かしてください!
2
コメント