【问题标题】: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+。它将匹配一些字符,然后是一些数字。例如。 a1ASD34。但它不会匹配 12sab

    如果你把所有东西放在一起,你会得到这个正则表达式:

    /^[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+,如R1B12。它不会匹配 12AB
    • \s*-\s* 允许破折号周围有空格
    • 所以我们得到了:field:field-field:field,这就是您想要的。

    你可以玩this正则表达式演示。

    检查这些值是否真的没问题,它需要的不仅仅是一个正则表达式。您必须用破折号和冒号分割代码并比较值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-15
      • 1970-01-01
      • 2020-02-05
      • 1970-01-01
      • 1970-01-01
      • 2021-04-22
      • 1970-01-01
      相关资源
      最近更新 更多