请问在数据校验中改如何实现呢?会用到excel导入,所以必须要在填报校验中增加规则,谢谢
REGEXP(a2, "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(-|/)(((0[13578]|1[02])(-|/)(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(-|/)(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))(-|/)02(-|/)29)")
这个就会按你说的两种格式格式校验
https://c.runoob.com/front-end/854/
用正则表达式
--------------
or(REGEXP(I10, "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)"),REGEXP(I10, "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})/(((0[13578]|1[02])/(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)/(0[1-9]|[12][0-9]|30))|(02/(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))/02/29)"))
对当前单元格的长度做是否为10 的判断,以及对其中的 ‘/’和‘-’个数做是否是2 的判断。因为这样,你日期字段里需要用文本控件。不如在excel里就做调整,然后格式就限定一种,不同就报错返回改好之后重新导入
数据校验添加公式:(find("-", 日期所在单元格, 0) = 5 && find("-", 日期所在单元格, 5) = 8) || (find("/", 日期所在单元格, 0) = 5 && find("/", 日期所在单元格, 5) = 8)
正则表达式
可参考--https://blog.csdn.net/xingxiupaioxue/article/details/105998503