[英]How to check if a sheet name / string contains both letters and numbers in Google Apps Script - JavaScript
我有一个用于检查工作表名称的应用程序脚本代码。 我的项目中有两种类型的工作表名称-(i)只有字母(例如主)和(ii)字母和数字在一起(PHY4125)。 该代码将检查第二个选项。 我的 IF 条件经常不起作用! 有没有其他方法可以完成相同的任务?
我的代码:
function autoConvert(e) {
var ss=e.source;
var sh=ss.getActiveSheet();
var key=sh.getName();
var lastRow=sh.getLastRow();
**if (key.indexOf("0")>-1 || key.indexOf("1")>-1 || key.indexOf("2")>-1 || key.indexOf("3")>-1 || key.indexOf("4")>-1
|| key.indexOf("5")>-1 || key.indexOf("6")>-1 || key.indexOf("7")>-1 || key.indexOf("8")>-1 || key.indexOf("9")>-1){**
//Body of the code block
}
}
正则表达式:
/^(?=.*[A-Za-z])(?=.*[0-9])[A-Za-z0-9]+$/
将检查字符串key
是否同时包含字母和数字。
因此这个表达式:
if(key.match(/^(?=.*[A-Za-z])(?=.*[0-9])[A-Za-z0-9]+$/))
对于AB23423
、 ab23423
、 23233ab
或24443AB
或任意组合As23Abc
等AB23423
,将评估为true
。
function autoConvert(e) {
var ss=e.source;
var sh=ss.getActiveSheet();
var key=sh.getName();
var lastRow=sh.getLastRow();
if(key.match(/^(?=.*[A-Za-z])(?=.*[0-9])[A-Za-z0-9]+$/)){
//Body of the code block
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.