45 lines
1.8 KiB
JavaScript
45 lines
1.8 KiB
JavaScript
/*
|
||
Сервис интеграции ПП Парус 8 с WEB API
|
||
Модели данных: общие функции валидации, константы, модели
|
||
*/
|
||
|
||
//----------
|
||
// Константы
|
||
//----------
|
||
|
||
//Признак принудительного исполнения действия
|
||
NFORCE_NO = 0; //Не выполнять принудительно (нормальный уровень проверок исполения)
|
||
NFORCE_YES = 1; //Выполнить принудительно (пониженный уровень проверок исполнения)
|
||
|
||
//------------
|
||
// Тело модуля
|
||
//------------
|
||
|
||
//Валидация списка адресов E-Mail
|
||
const validateMailList = sMailList => {
|
||
//Если есть что валидировать
|
||
if (sMailList) {
|
||
//Объявим разделитель списка адресов
|
||
let sSpr = ",";
|
||
//Регулярное выражение для контроля адреса E-Mail
|
||
let sMailRegExp = /^(([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]+)/;
|
||
//Развалим строку с разделителями на массив адресов
|
||
let addrs = sMailList.toLowerCase().split(sSpr);
|
||
//Обходим массив адресов
|
||
for (i = 0; i < addrs.length; i++) {
|
||
//Проверяем адрес на соответствие регулярному выражению
|
||
if (!sMailRegExp.test(addrs[i])) return false;
|
||
}
|
||
}
|
||
//Если мы здесь - валидация прошла успешно
|
||
return true;
|
||
};
|
||
|
||
//-----------------
|
||
// Интерфейс модуля
|
||
//-----------------
|
||
|
||
exports.NFORCE_NO = NFORCE_NO;
|
||
exports.NFORCE_YES = NFORCE_YES;
|
||
exports.validateMailList = validateMailList;
|