我正在使用Google电子表格。我正在尝试对文本长度进行验证规则。 例如,文本长度必须等于12个字符,其中包括数字,短划线和一个大写字符。 例: 123-56C89112
我尝试在Google群组中搜索但没有结果!你可以帮忙吗
答案 0 :(得分:1)
您可以使用数据>验证>自定义公式
=REGEXMATCH(B3, "^(?=.{12}$)(?=(^[^A-Z]*[A-Z]{1}[^A-Z]*$))(?=(^[^-]*[-]{1}[^-]*$)).*")
我不是Regex的专家,所以这可能有点过头,但似乎有效:
^(?=.{12}$)(?=(^[^A-Z]*[A-Z]{1}[^A-Z]*$))(?=(^[^-]*[-]{1}[^-]*$)).*
这允许任何字符串包含12个字符,1个大写字母和1个破折号。
编辑:(Lookahead)正则表达式似乎不适用于Spreadsheets(请参阅评论)
EDIT2 :使用如下所示的自定义功能似乎有效,但只有在出于某种原因使用警告(而不是拒绝)时(错误?)
function test(myString) {
return myString.match("^(?=.{12}$)(?=(^[^A-Z]*[A-Z]{1}[^A-Z]*$))(?=(^[^-]*[-]{1}[^-]*$)).*")!=null;
}