@UserTrue said in Проблема с nodejs:
const configuration = new Configuration({
apiKey: [[APIKEY]]
});
спасибо. это сработало
Помогите с регуляркой для поиска телефонов в исходном коде.
Номера начинаются с +7 или 8
имеют 10 цифр после кода страны
+79999379992
89999379992
999-93-79-992
999-937-99-92
999-93-799-92
(999)93-799-92
(999)93-79-992
(999)937-99-92
и те же комбинации с кодом страны
^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$
Нашел на просторах такую регулярку, но в БАС почему то не работает
@DrPrime said in Помогите с регуляркой для поиска телефонов:
@seedgg Спасибо, находил уже этот сайт, но почему то ни одна не работает в бас. Несколько возвращают только первую цифру, буду копаться дальше почему так
потому что там регулярки .NET формата, а нужны javascript.
@DrPrime я бы сделал так, это проще и надежнее, чем городить regexp под все варианты.
в логе смотри [23:12:26] Поток №1 : Номеров найдено: 8
[23:12:26] Поток №1 : ["79999379992","89999379992","9999379992","9999379992","9999379992","9999379992","9999379992","9999379992"]
сделал такой говнокод, но рабочий
var potential_phones = VAR_SAVED_CONTENT.match(/\+?(7|8)?[\d\-\(\)\ ]+/g);
var valid_phones = [];
if (potential_phones != null) {
var tmpV;
potential_phones.forEach(function(item, i, arr) {
tmpV = potential_phones[i].match(/\d+/g);
if (tmpV != null) {
tmpV = tmpV.join("");
if (tmpV.length > 9 && tmpV.length < 12) valid_phones.push(tmpV);
}
});
}
if (valid_phones.length) {
log("Номеров найдено: " + valid_phones.length);
log(JSON.stringify(valid_phones));
} else {
log("Номера не найдены.");
}
сперва парсим все совпадения регуляркой \+?(7|8)?[\d\-\(\)\ ]+
проходимся по всем совпадениям, берем одни только цифры, проверяем к-во цифр, если их от 10 до 11, то это моб телефон.
так на вскидку, минус тут в том, что если в коде страницы будет просто "5555555555" то это тоже примется , как моб тел.
Но этот момент можно убрать, если в регулярку начальную прописать все мобильные операторы РУ, а лучше не в регулярку, а просто в массив, а дальше обработанные результаты парсинга уже сверить , начинается ли номер с кода моб оператора, тогда будет очень мало не валидных номеров.
плюс метода в том, что он спарсит номера во многих форматах, а дальше уже приведет в чистый цифровой формат.
но метод таки придуман сходу и на коленке, на твоем исходном примере, так что нужно проверять на реальных данных и смотреть чего не хватает..