【问题标题】:Validate R1:C1 to R2:C2 notation in google sheets在谷歌表格中验证 R1:C1 到 R2:C2 表示法
【发布时间】:2017-04-24 05:07:39
【问题描述】:
我需要验证范围 R1:C1-R2:C2 范围
我试过了,
function isValid(rc) {
if (rc)
if (rc.trim() === "") return false;
var isPattern = /^[0-9]+:[0-9]+-[0-9]+:[0-9]+$/.test(rc);
if (!isPattern) return false;
return ((rc));
}
但上面的代码也需要 9:9-0:0 或 0:0-0:0
更新:
如何检查客户端数字验证后的给定范围在服务器端是否正确。因为,在服务器端范围可能无效。
【问题讨论】:
标签:
javascript
regex
google-apps-script
google-spreadsheet-api
【解决方案1】:
您需要检查是否有一些字母字符,然后是数字字符 - 这是匹配字段的方法:[a-z]+\d+。它将匹配一些字符,然后是一些数字。例如。 a1,ASD34。但它不会匹配 12 或 sab。
如果你把所有东西放在一起,你会得到这个正则表达式:
/^[a-z]+\d+:[a-z]+\d+\s*-\s*[a-z]+\d+:[a-z]+[0-9]+$/i
解释:
-
/../i 不区分大小写,指定[a-z] 即可,无需输入[a-zA-Z]
- 这匹配一个字段:
[a-z]+\d+,如R1 或B12。它不会匹配 12 或 AB
-
\s*-\s* 允许破折号周围有空格
- 所以我们得到了:
field:field-field:field,这就是您想要的。
你可以玩this正则表达式演示。
检查这些值是否真的没问题,它需要的不仅仅是一个正则表达式。您必须用破折号和冒号分割代码并比较值。