javascript - Google App Script 检查编辑的单元格是否包含空格

标签 javascript regex if-statement google-apps-script google-sheets

当我在editedCellValue 中放置一个带空格的值时,以下代码不起作用

function onEdit(e) {

    var editedCellRange = 
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Test").getActiveRange();
    var editedCellValue = 
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName("test").getActiveRange().getValue;
    if (RegExp(editedCellValue).test("\s")==true){editedCellRange.setValue("contains space")}
    else 
    {editedCellRange.setValue("ELSE IF")}
}
请帮助说明为什么这不起作用。
谢谢。

最佳答案

retrofit 要点:

  • 如果您想使用 test ,请修改为(/\s/g).test(editedCellValue) .
  • 例如,您还可以使用 includes喜欢 editedCellValue.includes(" ") .还有,indexOf可以使用。
  • 在你的情况下,我认为事件对象也可以使用。
  • 在您的脚本中,var editedCellValue = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("test").getActiveRange().getValue;不检索该值,因为 getValue没有运行。请加()喜欢 getValue() .
  • 您可以申报一个 SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Test") .

  • 当以上几点反射(reflect)到你的脚本中时,它变成如下。
    修改后的脚本:
    function onEdit(e) {
      var range = e.range;
      if (range.getSheet().getSheetName().toLowerCase() != "test") return;
      var editedCellValue = range.getValue();
      if ((/\s/g).test(editedCellValue)) {  // or if (editedCellValue.includes(" ")) {
        range.setValue("contains space")
      } else {
        range.setValue("ELSE IF")
      }
    }
    
  • 在这种情况下,当您编辑单元格时,onEdit由 OnEdit 触发器自动运行。而且,在您的脚本中,编辑过的单元格会被覆盖。请注意这一点。

  • 笔记:
  • 如果您想直接使用脚本编辑器运行该功能,请将上述脚本修改如下。
  •   var range = e.range;
      if (range.getSheet().getSheetName().toLowerCase() != "test") return;
    
  •   var range = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Test").getActiveRange();
    


  • 引用:
  • Simple Triggers
  • Event Objects
  • getValue()
  • test()
  • includes()
  • 关于javascript - Google App Script 检查编辑的单元格是否包含空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66415891/

    相关文章:

    javascript - 如何不使用 Redux 传递 props?

    MySQL REGEXP 获取整数之间的所有内容

    regex - python re.split() 空字符串

    regex - 带有 NOT 匹配的正则表达式

    javascript - 在 HTML 上使用 JS 设置问候语时出现问题

    javascript - 如何在选择下拉列表中显示选定复选框的值?

    javascript - map.on ('click' ,onClick) 当 zoomBox 时也会触发

    if-statement - Golang 新手,如果 else 不工作,由于某种原因嵌套

    将冗长的 if...else if...else... block 转换为开关

    php - MySQL 查询 - WHERE 和 IF?