【发布时间】:2015-04-27 23:55:00
【问题描述】:
如果这是一个愚蠢的问题,请不要把我钉在十字架上,
但我一直在涉足 Google App Scripts,主要是它在 Google 表格中的用途。
通常当我一直在使用openById()
如果它是一个可能会定期更改的 ID,我会将其放在我的脚本顶部并添加有关如何编辑的注释(对于我将工作表交给的用户,或者对于我来说,如果我还没有工作,则作为提醒它有点,我忘记了)。如果它非常固定并且不太可能改变,我就将它声明为一个 var。
我认为在电子表格中有一个“设置”表并且用户输入设置会更加用户友好。而不必进入脚本编辑器来编辑东西。
但即使是通过工作表或脚本编辑器,在错误位置添加或删除的单个内容也可能会造成严重后果,例如空格或 /
至少通过“设置”表,您可以使用数据验证和正则表达式来控制和拒绝用户输入的内容。
所以我想我的问题是 Google 表格 ID 对我来说似乎很陌生,条形长度,我想知道是否有任何方法可以使用正则表达式或其他东西来验证 ID,而不是检查 ID 服务器端。 谢谢:)
【问题讨论】:
-
为什么文件 ID 会改变?我认为没有任何方法可以在不使用服务器端代码的情况下检查文件 ID 是否有效。但是调用服务器非常快。您可以使用 JavaScript
myString.trim()删除字符串两边的空格。用户设置表肯定比进入脚本编辑器更好。您可以创建一个菜单和一个对话框来强制用户以某种方式输入。 -
是的。必须通过打开它来检查服务器端。如果它的坏或脚本没有权限,它将失败
-
如果每月/每季度创建一个新的电子表格,文件 ID 可能会发生变化。所以没有办法通过正则表达式来验证 ID :( 如果我有类似
IF(SpreadsheetApp.openById(ID HERE)=False/Null){Browser.msgBox("Your spreadsheet ID is wrong, please check it");}的东西(不是 100% 确定我的头顶上会返回一个糟糕的打开命令)那将是没有正则表达式的最好的检查方式跨度> -
SpreadsheetApp.openById("gibberish") 只会返回一个异常,不幸的是。所以你可以根据我的回答使用 try...catch。
标签: javascript regex google-apps-script google-sheets