Google电子表格文字长度验证

时间:2014-08-06 09:42:13

标签: google-sheets google-docs

我正在使用Google电子表格。我正在尝试对文本长度进行验证规则。 例如,文本长度必须等于12个字符,其中包括数字,短划线和一个大写字符。 例: 123-56C89112

我尝试在Google群组中搜索但没有结果!你可以帮忙吗

1 个答案:

答案 0 :(得分:1)

您可以使用数据>验证>自定义公式

=REGEXMATCH(B3, "^(?=.{12}$)(?=(^[^A-Z]*[A-Z]{1}[^A-Z]*$))(?=(^[^-]*[-]{1}[^-]*$)).*")

我不是Regex的专家,所以这可能有点过头,但似乎有效:

^(?=.{12}$)(?=(^[^A-Z]*[A-Z]{1}[^A-Z]*$))(?=(^[^-]*[-]{1}[^-]*$)).*

Regular expression visualization

Debuggex Demo

这允许任何字符串包含12个字符,1个大写字母和1个破折号。

编辑:(Lookahead)正则表达式似乎不适用于Spreadsheets(请参阅评论)

EDIT2 :使用如下所示的自定义功能似乎有效,但只有在出于某种原因使用警告(而不是拒绝)时(错误?)

function test(myString) { 
return myString.match("^(?=.{12}$)(?=(^[^A-Z]*[A-Z]{1}[^A-Z]*$))(?=(^[^-]*[-]{1}[^-]*$)).*")!=null;
 }