跳到主要内容

Find invalid emails

Detects and highlights invalid email addresses within a specified column or across the entire spreadsheet.

(function () {
let sheet = Api.GetActiveSheet();
let range = sheet.GetUsedRange();

let emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
let red = Api.CreateColorFromRGB(255, 163, 163);
// Specify a column index (starting from 0) or leave it as null to check entire worksheet
let colIndex = 1;

let numRows = range.GetRows().Count;
let numCols = range.GetCols().Count;

if (colIndex !== null) {
for (let row = 0; row < numRows; row++) {
let cell = sheet.GetRangeByNumber(row, colIndex);
let value = cell.GetValue();

if (!value) {
continue;
}

let trimmedValue = value.toString().trim();
if (trimmedValue && !emailRegex.test(trimmedValue)) {
cell.SetFillColor(red);
}
}
} else {
for (let row = 0; row < numRows; row++) {
for (let col = 0; col < numCols; col++) {
let cell = sheet.GetRangeByNumber(row, col);
let value = cell.GetValue();

if (!value) {
continue;
}

let trimmedValue = value.toString().trim();
if (trimmedValue && !emailRegex.test(trimmedValue)) {
cell.SetFillColor(red);
}
}
}
}
})();

Methods used: GetActiveSheet, GetUsedRange, CreateColorFromRGB, GetRows, GetCols, GetRangeByNumber, GetValue, SetFillColor

Result

FindInvalidEmails FindInvalidEmails