请求编写Google Sheets AppScript:自动清理A列特殊字符
Google Sheets 自动清理A列身份证件号脚本
下面是实现需求的完整脚本,它会在用户编辑A列单元格时自动清理内容,仅保留数字和字母:
function onEdit(e) { // 获取编辑的单元格范围 const range = e.range; // 仅处理A列(列索引为1)的单元格 if (range.getColumn() !== 1) return; // 获取单元格原值并转为字符串类型 let originalValue = range.getValue(); if (typeof originalValue !== 'string') { originalValue = originalValue.toString(); } // 移除所有非数字和字母的字符 const cleanedValue = originalValue.replace(/[^a-zA-Z0-9]/g, ''); // 仅当内容有变化时更新单元格,避免无效操作 if (cleanedValue !== originalValue) { range.setValue(cleanedValue); } }
安装步骤
- 打开目标Google Sheets表格
- 点击顶部菜单栏「扩展程序」>「Apps 脚本」
- 删除编辑器中的默认代码,粘贴上面的脚本
- 点击左上角「保存」,给脚本命名(比如「IDCleaner」)
- 关闭脚本编辑器,回到表格后首次编辑A列时,按提示完成权限授权即可
脚本说明
- 依赖
onEdit简单触发器,用户编辑单元格时自动触发,无需手动配置 - 仅对A列的编辑操作生效,不干扰其他列内容
- 用正则表达式
/[^a-zA-Z0-9]/g精准匹配并移除所有非数字、非字母的特殊字符 - 增加内容变化判断,避免无意义的单元格更新,优化运行性能
内容的提问来源于stack exchange,提问作者Miguel De los Santos
相关产品推荐
相关产品推荐

