页面树结构
转至元数据结尾
转至元数据起始

在电子表格中进行数据填写补录时,可以通过正则表达式设置项对补录的数据进行校验。如本示例中,回写的表格格式如下:

在该回写报表中,通过正则表达式,对邮箱地址进行了校验。当输入的邮箱地址不符合时,弹出相应的提示。如下:

smartbi版本要求:SmartbiV6.2及以上。

 

操作步骤

1.准备回写表。在数据库中创建表,用于存储回写补录的数据。表名为“contacts2”,字段设置如下

      并在数据库管理中把此表添加进来。具体可以参考清单补录的第2步骤。

 

2.创建电子表格。

在报表设计器中创建一个电子表格,如下设计,不关联任何数据集

  

 

      

3.回写设置

设置该电子表格回写到步骤1中的contacts2表中。如下

   
4.填报属性。

      (1)设置邮箱地址填报属性:设置F7单元格的填报属性为“单行文本”。

并在在格式(正则表达式)中输入:^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$,该正则表达式为JAVA类型的表达式,使用该表达式验证输入的内容是否符合邮箱地址的格式

在“格式不匹配时提示信息”中输入:邮箱格式不正确,请输入正确的邮箱地址,则当邮箱地址输入的内容不符合邮箱格式时,会弹出此提示信息

正则表达式相关设置项请参考:正则表达式

 

(2)设置其他单元格的填报属性:C5设置为数字,F5和C7设置为单行文本,C9设置为多行文本

     

5.执行回写。

在浏览器端打开该报表,输入相关内容,在输入邮箱地址时,只有格式正确才可以填入;若输入的格式不符合邮箱格式,则会弹出提示。如下:

      其他的正则表达式可参考:

      身份证正则表达式:^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$
      手机号正则表达式: ^1[3,5,8]\d{9}$
      电话号正则表达式:^(^0\d{2}-?\d{8}$)|(^0\d{3}-?\d{7}$)|(^0\d2 -?\d{8}$)|(^0\d3 -?\d{7}$)$
      以上正则表达式,可参考对应文档: http://blog.csdn.net/lun379292733/article/details/8169807 

      QQ号正则表达式:^\d{5,10}$  ,可参考对应文档: http://www.cnblogs.com/ITEagle/archive/2009/12/27/1633086.html 
      注意事项:从网上搜索到的正则表达式,一般前后都有“/”斜杠符号,写到填报属性的时候,不需要带上斜杠符号,具体示例如上边写的正则表达式(本地验证可以正常使用)。
 
  • 无标签