小程序端

在交互点击时行为-添加表数据时,点击需要校验的字段右边的三个点可以添加校验。若校验不通过,则更新表数据的动作不会执行。

校验规则

目前提供 6 种校验规则:空、非空、手机号、邮箱、内容审核、正则表达式。以下重点讲解正则表达式和内容审核。

正则表达式

以下是常见的 15 种正则表达式写法,更多内容可自行搜索:

  1. 中文字符

    ^[\u4e00-\u9fa5]+$
    
  2. 手机号码

    ^(?:(?:\+|00)86)?1(?:3\d|4[5-9]|5[0-35-9]|6[567]|7[0-8]|8\d|9[0-35-9])\d{8}$
    
    • 支持国际区号 +860086,并更新了国内手机号码的常见号段。
  3. 合法帐号(字母开头,允许 5-16 字节,字母数字下划线):

    ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
    
  4. 强密码(包含大小写字母和数字,长度 8-10,禁止特殊字符):

    ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$
    
  5. 身份证号(15 位或 18 位,最后一位可能为 X):

    ^(?:\d{15}|\d{17}[\dxX])$
    
  6. 金额校验(非零开头,最多两位小数):

    ^(?:[1-9]\d*|0)(?:\.\d{1,2})?$
    
  7. Email 地址

    ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
    
  8. 域名

    ^(?:(?!-)[A-Za-z0-9-]{1,63}(?<!-)\.)+[A-Za-z]{2,6}$
    
  9. QQ 号

    ^[1-9]\d{4,}$
    
  10. XML 文件

    ^[a-zA-Z]+(?:-?[a-zA-Z0-9]+)*\.[xX][mM][lL]$
    
  11. 日期格式

    ^\d{4}-\d{1,2}-\d{1,2}$
    
  12. 一年 12 个月(01~09 和 1~12):

    ^(?:0?[1-9]|1[0-2])$
    
  13. HTML 标记

    <([a-zA-Z0-9]+)([^>]*)>(.*?)</\1>|<([a-zA-Z0-9]+)([^>]*)/>
    
  14. 中国邮政编码

    ^[1-9]\d{5}$
    
  15. IP 地址

    ^(?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d)$
    

内容审核

校验输入内容是否合法,例如输入非法或敏感内容时会提示。


Web 端

Web 端暂不支持小程序端的校验方式,可通过以下两种方式实现验证:

条件行为

  1. 点击添加行为 → 逻辑事件 → 条件,设置条件。
  2. 示例:第一个条件为非空,第二个为空无需设置(仅两种情况:空和非空)。

行为流

  1. 在行为流中创建代码块节点,使用 JavaScript 和正则表达式编写校验方法。
  2. 示例代码:

    const phone_number = context.getArg("phone_number");
    // 获取手机号入参
    function isTelCode(str) {
     var reg = /^0\d{2,3}-?\d{7,8}$|^1(3|4|5|6|7|8|9)\d{9}$/;
     return reg.test(str);
    }
    // 校验手机号码和固话
    const result = isTelCode(phone_number);
    if (result) {
     context.setReturn("result", "正确");
    } else {
     context.setReturn("result", "错误");
    }
    
  3. 设置节点入参和出参,关联上下节点。

  1. 在按钮上使用行为流:
    • 点击添加行为 → 请求 → 行为流,选择创建的行为流。
    • 入参为输入框,成功时根据结果判断手机号码是否正确。

  1. 若错误,可添加提示:
    • 点击添加行为 → 视图 → 显示提示。

Copyright © FunctorZ 2024 all right reserved修订时间: 2025-03-27 07:23:20

results matching ""

    No results matching ""