{{i18n("button.posting")}}
入力規則:半角カナ(ァィゥェォッャュョ除外)と一部記号に限定
ルールに従っていなデータは保存させない便利な入力規則。半角カナの設定方法をご紹介します。
Admin
{{getTime(record.UpdatedTime)}}
やりたいこと
「口座名義」(AccountHolder)という項目で口座名義を管理いている。
この項目に入力できる文字を、次のように限定したい。
・半角カナ
・「ァィゥェォッャュョ」(半角カナ小文字)を除外。
・記号では「.」「-」のみ入力可とする。
知っておきたいこと
同じ種類の文字でもさらに使う文字を限定したいときは、JISコードの文字の並びも意識するといいです。
半角カナは「ヲ-゚」で表現されますが、一覧でみると半角カナ文字(「゙」「゚」も含む)すべてを指定していることがわかります。
こちらのサイトからお借りしました。
charset.7jp.net
入力規則の数式
数式の書き方は様々で、答えはひとつではありません。
今回は2つをご紹介します。
A
IF(ISBLANK( AccountHolder__c ) ,False,NOT(REGEX( AccountHolder__c ,"^[ヲ-゚ .-]+$")) || (REGEX( AccountHolder__c ,".*[ァ-ッ0-9A-Za-zァ-ヴ].*") ))
数式の意味
数式を区切って意味を確認します。
IF( ISBLANK ( AccountHolder__c ) , False,
=もし「口座名義」の項目がブランク(空白)である場合は、計算結果を「False」とする。
=ブランクのときはエラーにはならない。
NOT( REGEX( AccountHolder__c,"^[ヲ-゚ .-]+$" ))
=文字が半角カナではない。
=半角カナではないときはエラーになる。
(REGEX( AccountHolder__c ,".*[ァ-ッ0-9A-Za-zァ-ヴ].*") ))
=文字が「ァィゥェォッャュョ」、数字、アルファベット、全角カタカナで構成されている。
=「ァィゥェォッャュョ」、数字、アルファベット、全角カタカナで構成されている場合はエラーになる。
※半角小カタカナ(「ァィゥェォッャュョ」)の正規表現は「ァ-ョ」ではなく、「ァ-ッ」である。
||
または(OR)
||について、Salesforceのページを引用させていただきます。
◇Salesforce Developers>開発者ドキュメント>Apex開発者ガイド>式の演算子
というわけで、Aの式は項目がブランクの場合と半角カナ(半角カナ小文字や記号などを含む)であるかを先に確認し、次に小文字であるか、他の文字が使われていないか確認している数式になります。
B
NOT(REGEX( AccountHolder__c , "^[ヲ. ー-゚]*$"))
数式の意味
^[ヲ. ー-゚]*$
=「ァィゥェォッャュョ」以外の半角カナ文字と、「.」「-」で構成されている文字列。
これに NOT を付けているので、この文字列と一致しない場合はエラーとなる。
{{i18n("articles.view.premium")}}
{{cta.Content}}
{{cta.ButtonName}}
{{tag}}