レイアウトルールと入力規則における正規表現

レイアウトルールと入力規則における正規表現

正規表現は、文字列のパターンを表すための記述方法です。たくさんの文字列の中から、特定のパターンに一致する文字列を検索したり置換したりするのによく使用されます。また、正規表現を用いて、対象となる文字列が特定のパターンに一致するかどうかも検証することも可能です。具体的には、フォーム等を通じて入力された文字列が、許可されているパターンに一致するかどうかを検証し、入力を受け付けるかどうかを判定するのに使用されます。正規表現のメリットは以下のとおりです。

 

  • 検索効率の向上大量のデータの中から必要なデータを効率よく探し出すことができます。
  • 検索の正確性の向上パターンに完全に一致する文字列のみを抽出することができ、不要な文字列の抽出を回避できます。
  • 処理の共通化さまざまな場所で同じパターンを共通的に再利用でき、処理を共通化できます。
  • 入力値の適切性の担保入力値を正規表現のパターンと照合することで、適切な内容や形式で入力されているかどうかを検証できます。

 

実際の正規表現の例: 

  1. メールアドレス:対象の文字列が、メールアドレスの形式に一致しているかどうかを検証できます。たとえば、次の正規表現では、「@」記号が必ず含まれているかどうかや、その右側にドメイン名が記述されているかどうかを検証できます。
    例:^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

  2. 口座番号対象の文字列が、銀行の口座番号の形式に一致しているかどうかを検証できます。
    例:^\d{1,7}$
    この正規表現では、7桁の番号に該当するかどうかを検証できます。

  3. パスワードの強度対象のパスワードが、十分な強度を持つような文字の組み合わせになっているかどうかを検証できます。
    例:^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^\w\d\s:])([^\s]){8,16}$
    この正規表現では、パスワードに数字、小文字のアルファベット、大文字のアルファベット、特殊文字がそれぞれ1文字以上含まれていて、かつ8桁以上16桁以下になっているかどうかを検証できます。


Info必要な権限
管理者権限のうちレイアウトと項目の管理の権限を持つユーザーがこの機能を利用できます。
各プランの機能と制限を確認する
 

Zoho Deskでは、レイアウトルールと入力規則の機能において正規表現を使用できます。パターンは、新しく作成することもできますが、ギャラリーに用意されているものを選択して使用することもできます。ギャラリーには、よく使用されるパターンがあらかじめ用意されており、パターンを作成しなくてもすぐに使用できます。

 

ギャラリーに用意されている正規表現パターンの一覧


正規表現パターン
説明

英数字(a~zのアルファベット、0~9の数字)
このパターンは、小文字のアルファベットと数字の組み合わせを意味します。
例:abc123

英数字とスペース
このパターンは、小文字のアルファベット、数字、スペース(空白文字)の組み合わせを意味します。
例:hello world123

英数字、ハイフン(-)、アンダースコア(_)
このパターンは、小文字のアルファベット、数字、ハイフン(-)、アンダースコア(_)の組み合わせを意味します。
例:user-name_123

アルファベットのみ
このパターンは、アルファベットの大文字と小文字のみの組み合わせを意味します。
例:alphabetsonly

アルファベットとスペース
このパターンは、アルファベットとスペース(空白文字)の組み合わせを意味します。
例:words only

数字のみ
このパターンは、数字のみの組み合わせを意味します。
例:123456

URL
このパターンは、標準的なURLの形式の文字列を意味します。
例:https://www.example.com

メールアドレス
このパターンは、標準的なメールアドレスの形式の文字列を意味します。
例:user@example.com

携帯電話番号
このパターンは、10桁の携帯電話番号を意味します。また、先頭に「+91」または「0」が付いているものも含まれます。
例:9876543210、+919876543210

アメリカ合衆国の郵便番号
このパターンは、アメリカ合衆国の郵便番号の形式(5桁の数字)を意味します。
例:12345

アメリカ合衆国の州名
このパターンは、アメリカ合衆国の州名を意味します。
例:California

電話番号
このパターンは、電話番号の形式((xxx) xxx-xxxx)を意味します。
例:(123) 456-7890

社会保障番号
このパターンは、社会保障番号の形式(xxx-xx-xxxx)を意味します。
例:123-45-6789

MACアドレス
このパターンは、MACアドレスの形式を意味します。
例:00:1A:2B:3C:4D:5E

IPアドレス(IPv4とIPv6の両方)
このパターンは、IPv4とIPv6の両方のIPアドレスの形式を意味します。
例:「192.168.1.1」、「2001:0db8:85a3:0000:0000:8a2e:0370:7334」

クレジットカード
このパターンは、16桁の数字とハイフンからなるクレジットカード番号の形式(xxxx-xxxx-xxxx-xxxx)を意味します。 
例:1234-5678-9012-3456

正規表現を用いた条件の種類 

正規表現を用いた条件には、いくつかの種類があります。目的や用途に応じてこれらの条件を使い分けることで、より正確かつスムーズに処理を実行できます。レイアウトルールと入力規則において使用できる条件の種類は以下のとおりです。

  1. 正規表現に完全に一致する

    1. 用途:適用対象とするパターンを指定します(OKとするパターンを指定します)。特定のパターンに当てはまるデータを検索したり、あるデータがパターンに当てはまるかどうかを検証したりする際に使用します。
    2. 使用例:特定の項目に保存されている値のうち、指定したパターンに一致している値を検索できます。たとえば、特定の会社のドメイン名を含むメールアドレスをすべて検索するのに使用できます。

  2. 正規表現に一致しない

    1. 用途:適用対象外とするパターンを指定します(NGとするパターンを指定します)。パターンに当てはまるデータのみを対象から除外し、パターンに当てはまらないデータはすべて対象とする場合に使用します。
    2. 使用例:いずれかのデータの値が指定したパターンに一致する場合に、該当のデータを適用対象から除外できます。たとえば、ユーザー名に特殊文字が含まれているかどうかを確認するためのパターンを設定します。これにより、該当のデータのみを対象から除外できます。

  3. 正規表現に一致する値を含む
  1. 用途:適用対象とするパターンを指定します(OKとするパターンを指定します)。ただし、完全に一致するものではなく、部分的に一致するものも対象として含みます。指定したパターンに一致する値が含まれるデータを検索できます。
  2. 使用例:対象となるテキストの中に、指定したパターンに一致する値が含まれているかどうかを確認できます。たとえば、ネットショップにおいて、特定の地域向けの商品一覧を表示したいとします。また、商品データには郵便番号が登録されており、対象地域に該当する郵便番号が含まれるデータのみを抽出したいとします。このような場合にこの条件を使用することで、目的のデータを抽出して表示できます。 

留意事項

 

  • 正規表現を用いて条件を指定できるのは、レイアウトルール/入力規則におけるメインの条件のみです。1件のレイアウトルール/入力規則において指定できるメインの条件は5件までですが、それぞれのメインの条件ごとに正規表現を用いた設定が可能です。
  • ただし、レイアウトルール/入力規則のサブの条件では、正規条件を用いて設定を行うことはできません。





  • 正規表現のパターンは、いちから自分で入力する他、ギャラリーから選択して適用することも可能です。


レイアウトルールにおける正規表現の使用 

レイアウトルールの機能を利用すると、ある項目に入力された値に応じて、他の項目やセクションを表示したり隠したりできます。データを入力する際に不要な項目も表示されていると、入力作業が煩雑になります。このような場合にレイアウトルールを設定することで、必要な項目のみを表示して、入力作業の負荷を軽減することが可能です。関連情報:レイアウトルールの作成

 

レイアウトルールを作成する際には、正規表現を用いてパターンを指定することが可能です。これにより、より柔軟に条件を設定することができます。複数の条件を細かく設定しなくても、1つの正規表現で必要なパターンをカバーすることが可能です。また、条件として値の種類や形式を指定することもできます。 

 

たとえば、クレジットカード番号が入力されているかどうかに応じて表示する項目を切り替えたいとします。このような場合に、正規表現を用いて条件を指定することで、クレジットカード番号の形式で値が入力されているかどうかを検証できます。入力されている値がパターンに一致しない場合には、関連する項目を表示しないように設定できます。 


レイアウトルールの条件の設定例:
[クレジットカード番号](項目名) + [が正規表現に一致する値を含む](条件の種類) + [Credit Card Number](正規表現のパターン名)


 

 正規表現を用いてレイアウトルールを設定するには 

  1. 設定)アイコンをクリックし、→[カスタマイズ][レイアウトと項目]に移動します。
  2. 画面左側から、[レイアウトルール]をクリックします。
  3. 画面右上に表示されている[ルールを作成する]をクリックします。



  4. レイアウトルールの作成画面で以下の操作を行います。
    1. ルール名を入力します。
    2. ルールの説明を入力します。
    3. レイアウトを選択します。
    4. 基準項目を選択します。
    5. 処理を実行する条件を指定します。 
    6. 正規表現を用いた条件の種類を選択します。 
    7. 種類としては、正規表現パターンに完全に一致する正規表現パターンに一致する値を含む正規表現パターンに一致しないのいずれかから選択可能です。設定例:
      [クレジットカード番号](項目名) + [が正規表現パターンに一致する値を含む](条件の種類) + [Credit Card Number](正規表現のパターン名)
    8. [次へ]をクリックします。



  5. 表示された画面で、[実行する処理]をクリックし、条件が満たされたときに実行する処理を選択します。
  6. 処理の内容としては、[項目を表示する][セクションを表示する][項目を必須にする]のいずれかを選択できます。
  7.  [完了する]をクリックします。
    関連情報:レイアウトルールにおける処理
  8. 設定内容をヘルプセンターにも適用する場合には、[ヘルプセンターに適用する]欄にチェックを入れます。ヘルプセンターの利用者が問い合わせを送信する際に、レイアウトルールが適用されるようになります。
  9. [保存する]をクリックします。



入力規則における正規表現の使用 

入力規則の機能を利用すると、入力される値が適切なものになっているかどうかを検証できます。値が不適切な場合、そのまま保存せずに、入力者に対してエラーメッセージを表示して修正を促すことが可能です。関連情報:入力規則の作成

 

入力規則のルールにおいて正規表現を活用することで、入力値が特定のパターンに一致しているかどうかを確認できます。これにより、適切な値のみが入力されることを担保できます。

 

たとえば、ある項目においては、適切な形式のメールアドレスの値のみを受け付けるようにするとします。この場合、入力規則のルールにおいて正規表現を指定し、適切な形式のメールアドレスかどうかを検証できます。設定例:[メールアドレス](項目名) + [が正規表現パターンに一致する](条件の種類) + [Email Address](正規表現のパターン名)。入力値がパターンに一致するかどうかが検証され、一致しない場合はエラーメッセージを表示できます。 



さらに、より細かな指定を行うことも可能です。たとえば、特定のドメインが含まれるメールアドレスのみを受け付けるとします。たとえば、「zylker.com」というドメインが含まれるメールアドレスのみを受け付ける場合、正規表現パターンは以下のようになります。 

 

(?i)[a-z0-9.-]+@zylker\.com$

 

なお、このパターンの冒頭にある(?i)という記号は、大文字小文字を区別しないという意味を表します。また、パターンの内容としては、@の前のユーザー名の部分には、アルファベット(a-z)、数字(0-9)、ピリオド(.)、ハイフン(-)のみが使用されていることを意味します。さらに、@以降の部分は「zylker.com」と一致するということを意味します。最後の$の記号は末尾を表し、「zylker.com」で終わる文字列であることを意味します。

 

 正規表現を用いて入力規則を設定するには 

 

  1. 設定)アイコンをクリックし、→カスタマイズ[レイアウトと項目]に移動します。
  2. 画面左側から、[入力規則]をクリックします。
  3. 右上の[ルールを作成する]をクリックします。



  4. 入力規則の作成画面で以下の操作を行います。
    1. レイアウトを選択します。
    2. 基準項目を選択します。
    3. [次へ]をクリックします。
  5. 条件の詳細を設定します。
    正規表現を用いた条件の種類としては、正規表現パターンに完全に一致する正規表現パターンに一致する値を含む正規表現パターンに一致しないのいずれかから選択可能です。例:[メールアドレス](項目名) + [が正規表現パターンに一致する](条件の種類) + [Email Address](正規表現のパターン名)
  6. [完了する]をクリックします。





  7. 条件に当てはまらない値が入力された時に表示するメッセージを設定します。



  8. 設定内容をヘルプセンターにも適用する場合には、[ヘルプセンターに適用する]欄にチェックを入れます。ヘルプセンターの利用者が問い合わせを送信する際に、入力規則が適用されるようになります。
  9. [保存する]をクリックします。

 


Notesメモ:設定したレイアウトルールや入力規則が不要になった場合、無効にするか削除することができます。いったん削除すると、元に戻すことはできません。