历史版本4 :检测任务-校验数据是否合法 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 应用场景

客户有数据表,是存储公司联系人信息的,需要校验表字段:校验联系人手机号是否合法。

1.2 实现思路

使用「数据检测」功能,创建检测规则,选择字段级规则,并设置检测对象为「字段行统计内容」,输入正则表达式和监控对象,判断统计内容为行占比等于1,即满足正则表达式的电话数据占比应该是100%,如果不满足,则校验失败,如下图所示:

2. 操作步骤编辑

2.1 创建检测任务

在「数据管理>数据检测」下新建「检测任务」,如下图所示:

2.2 选择检测范围

选择需要检测的数据表,如下图所示:

2.3 设置规则

添加检测规则,设置规则名称,并选择「字段级」规则类型,检测对象选择「字段行统计内容」,并设置行范围为「正则匹配」,输入正则表达式:^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$

添加检测数据字段,同时设置预期范围为「行占比」=1,如下图所示:

满足正则表达式的电话数据占比应该是100%,如果不满足,则校验失败。

保存并运行任务。

2.4 效果查看

运行结束可看到数据检测失败,行占比低于期望值,如下图所示:

3. 拓展阅读编辑

一些常用正则表达式举例:

表达式目的表达式

检查指定手机号是否合法

注:仅示例,校验规则可根据你的实际情况书写。

^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$
检查数字

^[0-9]*$

至少n位的数字^\d{n,}$
汉字^[\u4e00-\u9fa5]{0,}$
英文和数字^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
身份证号(15位、18位数字),最后一位是校验位,可能为数字或字符X(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)
帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)^[a-zA-Z][a-zA-Z0-9_]{4,15}$
日期格式^\d{4}-\d{1,2}-\d{1,2}
腾讯QQ号[1-9][0-9]{4,} (腾讯QQ号从10000开始)
Email地址^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

更多示例详情参见:https://www.jyshare.com/front-end/854/