小程序端
在交互点击时行为-添加表数据时,点击需要校验的字段右边的三个点可以添加校验。若校验不通过,则更新表数据的动作不会执行。
校验规则
目前提供 6 种校验规则:空、非空、手机号、邮箱、内容审核、正则表达式。以下重点讲解正则表达式和内容审核。
正则表达式
以下是常见的 15 种正则表达式写法,更多内容可自行搜索:
中文字符:
^[\u4e00-\u9fa5]+$
手机号码:
^(?:(?:\+|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}$
- 支持国际区号
+86
或0086
,并更新了国内手机号码的常见号段。
- 支持国际区号
合法帐号(字母开头,允许 5-16 字节,字母数字下划线):
^[a-zA-Z][a-zA-Z0-9_]{4,15}$
强密码(包含大小写字母和数字,长度 8-10,禁止特殊字符):
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$
身份证号(15 位或 18 位,最后一位可能为 X):
^(?:\d{15}|\d{17}[\dxX])$
金额校验(非零开头,最多两位小数):
^(?:[1-9]\d*|0)(?:\.\d{1,2})?$
Email 地址:
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
域名:
^(?:(?!-)[A-Za-z0-9-]{1,63}(?<!-)\.)+[A-Za-z]{2,6}$
QQ 号:
^[1-9]\d{4,}$
XML 文件:
^[a-zA-Z]+(?:-?[a-zA-Z0-9]+)*\.[xX][mM][lL]$
日期格式:
^\d{4}-\d{1,2}-\d{1,2}$
一年 12 个月(01~09 和 1~12):
^(?:0?[1-9]|1[0-2])$
HTML 标记:
<([a-zA-Z0-9]+)([^>]*)>(.*?)</\1>|<([a-zA-Z0-9]+)([^>]*)/>
中国邮政编码:
^[1-9]\d{5}$
IP 地址:
^(?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d)$
内容审核
校验输入内容是否合法,例如输入非法或敏感内容时会提示。
Web 端
Web 端暂不支持小程序端的校验方式,可通过以下两种方式实现验证:
条件行为
- 点击添加行为 → 逻辑事件 → 条件,设置条件。
- 示例:第一个条件为非空,第二个为空无需设置(仅两种情况:空和非空)。
行为流
- 在行为流中创建代码块节点,使用 JavaScript 和正则表达式编写校验方法。
示例代码:
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", "错误"); }
设置节点入参和出参,关联上下节点。
- 在按钮上使用行为流:
- 点击添加行为 → 请求 → 行为流,选择创建的行为流。
- 入参为输入框,成功时根据结果判断手机号码是否正确。
- 若错误,可添加提示:
- 点击添加行为 → 视图 → 显示提示。