布局和验证规则中的正则表达式

布局和验证规则中的正则表达式

正则表达式(regex)是一个字符序列,定义了一个模式。它们用于在一段文本中查找和匹配相似的模式。 换句话说,regex是一组包含特定模式的字符串。 它通常用于验证用户在提交表单时所输入的值。 它可以帮助: 

  • 提高效率 : Regex可以更容易地在大量数据中找到特定的模式。
  • 改进数据识别 : Regex允许指定准确的模式,减少丢失或错误识别数据的可能性。
  • 促进可重用性 : 一旦创建了regex模式,就可以在不同的上下文中重用相同的模式。
  • 保持数据准确性 : Regex可用于验证输入数据,并确保在进一步处理数据之前满足某些条件。

在一些常见的实例中,regex可以用于验证用户的输入 : 

  1. 电子邮件地址: Regex可用于验证电子邮件地址的格式。 例如,下面的正则表达式模式可用于验证电子邮件地址是否以正确的顺序包含“@”符号和域名。
    ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

  2. 银行账号: Regex可以用来验证银行账号。 下面是一个验证美国银行账号的正则表达式模式的示例:
    ^\d{1,17}$
    以上模式将检查帐号是否包含1-17位数字。

  3. 密码强度: Regex也可以用来验证密码的强度。 例如,以下regex模式可用于检查强密码:
    ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^\w\d\s:])([^\s]){8,16}$
    此regex模式检查密码是否包含至少一个数字、一个小写字母、一个大写字母、一个特殊字符,并且长度在8到16个字符之间。

所需权限
具有管理权限中的管理布局和字段权限的用户可以访问该功能。
检查功能可用性和限制

Regex库

除了在定义布局/验证规则中的条件时创建正则表达式模式外,还有一个选项可以从正则表达式库中选择偏好的正则表达式模式。 使用regex库,您可以随时使用预定义的regex模式,而无需每次都创建模式。

以下是库中可用的Regex模式 :

Regex模式
描述

字母数字字符 (字母[a-z] 和数字 [0-9])
此模式确保输入是包含小写字母和数字的组合。
例如: `abc123` (包含字母和数字)

包含空格在内的字母数字字符
此模式允许字母、数字和空格。
例如: `hello world123` (包含字母、数字和空格)

包含"-" 或"_"在内的字母数字字符
此模式允许使用字母、数字、连字符"-"和下划线"_"。
例如: `user-name_123` (包含字母、数字、连字符和下划线)

仅字母
此模式只接受小写或大写字母。
例如: `alphabetsonly` (只包含字母)

仅字母(含空格)
此模式允许字母和空格。
例如: `words only` (包含字母和空格)

仅数字
此模式验证输入是否仅由数字组成。
例如: `123456` (只包含数字)

URL
此模式验证标准URL格式。
例如: `https://www.example.com` (有效的URL格式)

电子邮件地址
此模式确保输入遵循标准的电子邮件地址格式。
例如: `user@example.com` (有效的邮箱格式)

手机号码 (10位数字, 可选+91或0)
此模式验证一个10位的手机号码,前面可选加+91或0。
例如: `9876543210` 或`+919876543210` (有效的手机号码格式)

美国邮政编码
此模式验证常见的5位美国邮政编码格式。
例如: `12345` (有效的美国邮政编码)

美国州
此模式允许使用美国常见的州名。
例如: `California` (有效的美国州名)

电话号码 ((xxx) xxx-xxxx 格式)
此模式验证通用的(xxx) xxx-xxxx电话号码格式。 
例如: `(123) 456-7890` (有效的电话号码格式)

社会安全号码 (xxx-xx-xxxx 格式)
此模式验证常见的xxx-xx-xxxx社会安全号码格式。
例如: `123-45-6789` (有效的社会安全号码格式)

MAC 地址
此模式会检查通用的MAC地址格式,以冒号或连字符分隔。
例如: `00:1A:2B:3C:4D:5E` (有效的MAC地址格式)

IP 地址(IPv4和IPv6)
此模式验证IPv4 和IPv6地址格式。
例如: `192.168.1.1` 或`2001:0db8:85a3:0000:0000:8a2e:0370:7334` (有效的IP地址格式)

信用卡 (xxxx-xxxx-xxxx-xxxx)
此模式验证以连字符分隔的16位信用卡号码格式。
例如: `1234-5678-9012-3456` (有效的信用卡号码格式)

Regex条件

Regex条件是精确匹配用户输入的特殊模式。 该regex条件用于查找、验证或替换文本块中的特定字符模式。 在研究布局和验证规则中的正则表达式之前,让我们先介绍一下可用的不同正则表达式条件。

  1. 匹配Regex:

    1. 何时使用 : 当用户希望查找与使用regex定义的特定模式精确匹配的数据时,使用此选项。
    2. 可以实现的功能 : 可以使用匹配Regex来搜索符合非常特定和定义好的模式的数据。 例如,您可以使用它来查找是否所有电子邮件地址都符合特定的字母数字模式。

  2. 不匹配Regex:

    1. 何时使用 : 当用户想要过滤掉匹配特定正则表达式模式的数据时,不匹配Regex非常有用。
    2. 可以实现的功能 : 此选项排除符合特定模式的数据。 例如,您可能希望排除包含特殊字符的用户名条目。 通过应用不匹配Regex,可以很容易地避免用户名与所需模式不一致。

  3. 包含Regex:
  1. 何时使用 : 当用户希望查找或验证包含特定模式的数据时,使用包含Regex选项。
  2. 可以实现的功能 : 该选项允许用户识别在提供的文本中存在特定模式的实例。 考虑一个卖家列出产品的线上应用市场。 为了确保准确的运输信息,您需要识别提及美国邮政编码的产品列表。 通过使用包含Regex,您可以自动检测引用五位数格式的美国邮政编码的清单。

要点

  • 布局/验证规则可以有5个主要条件,每个条件可以有一个单独的正则表达式条件。
  • 不能为布局和验证规则中的辅助条件添加正则表达式条件。





  • 在定义正则表达式条件时,您可以手动创建自定义正则表达式模式,也可以从正则表达式库中选择一个模式。


在布局规则内使用Regex

布局规则用于根据用户的输入定义字段或分栏之间的依赖关系。 因此,当用户填写一个字段时,布局会根据用户的输入逐步添加更多的字段或分栏。 通常,布局规则可用于根据字段中输入的值定义布局的动态行为。

在配置布局规则时,可以在主字段上设置regex,以便在用户输入值时对其进行验证。 这在根据给定数据的格式确定布局行为时非常有用,并且消除了创建多个条件的必要。

例如,在产品购买表单中,用户需要填写信用卡号,然后根据该卡号显示包含过期日期、持卡人姓名等字段的分栏。 使用regex,可以验证信用卡号码格式和模式,以便用户填写有效的16位数字。 如果字段值不正确,则不显示依赖部分。

您可以使用以下regex 条件创建布局规则 :
信用卡号码 + 包含Regex + 信用卡号码


使用regex创建布局规则

  1. 访问 设置 ) > 定制 > 布局和字段。
  2. 从左侧面板内选择布局规则
  3. 点击右上角的创建规则。



  4. 创建布局规则 窗口,做如下操作 :
    1. 输入规则名称。
    2. 提供规则的描述
    3. 选择所需的布局。
    4. 选择控制此规则的主字段。
    5. 选择启动该规则的条件
    6. 选择所需的regex条件。
    7. 您可以从 匹配Regex不匹配Regex包含Regex (例如: 信用卡号码 + 包含Regex + 信用卡号码)中进行选择。
    8. 点击下一步。



  5. 创建布局规则编辑器 内,点击触发操作并从列表内选择所需的操作。
  6. 创建操作 页面,点击显示字段,显示分栏设置必填字段,接着选择相应的字段。
  7.  点击完成。
  8. 勾选应用到帮助中心,以对从您帮助中心提交的工单管理字段间的依赖性。
  9. 点击保存。



在验证规则内使用Regex

 验证规则确保有效的数据进入系统。 如果该值不正确,则提示用户纠正错误,然后保存该记录。

在验证规则中使用regex有助于确保只有那些用户输入与特定模式匹配的记录才被保存在系统中。 也就是说,组织可以防止无效输入。

例如,假设您想要验证终端用户是否以特定格式输入电子邮件地址,例如johnsmith123@zylker.com。 在这种情况下,您可以创建一个验证规则,并定义或选择一个匹配有效电子邮件地址格式的regex模式(如电子邮件地址 + 匹配regex + 电子邮件地址)。 然后可以使用此模式检查输入的电子邮件地址是否与该格式匹配。


同样,您还可以创建一个regex模式来匹配以zylker[您想要的]域名结尾的电子邮件地址。

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

在这个模式中,(?i)是一个修饰符,使模式不区分大小写。 此正则表达式允许在电子邮件用户名中使用字母数字字符(小写)、句号和连字符。 然后它匹配字符串“@zylker.com”,$符号指定匹配必须以域名“zylker.com”结束。

使用regex 创建验证规则

  1. 访问 设置 ) > 定制> 布局和字段。
  2. 从左侧面板内选择验证规则。
  3. 点击右上角区域内的创建规则。



  4. 新建验证规则 ,做如下操作:
    1. 选择所需的布局。
    2. 选择控制此规则的主字段。
    3. 点击下一步。
  5. 创建验证规则 编辑器内,点击添加其它选项并指定regex条件以进行验证。
    您可以从匹配Regex不匹配Regex包含Regex中进行选择,例如: 电子邮件地址+ 匹配Regex + 电子邮件地址。
  6. 点击完成。





  7. 指定必要的提醒消息。




  8. 勾选应用到帮助中心以验证从您帮助中心提交的工单。
  9. 点击保存。

注意: 在不想用了之后,您可以禁用或删除布局或验证规则。在您删除规则之后,它将会永久性移除且不能恢复。