51 lines
2.3 KiB
JavaScript
51 lines
2.3 KiB
JavaScript
const text = "Оплата 6800р Карта*4215 IP SHARAFETDINO Баланс 199083.86р 09:56";
|
||
const balanceRegex =
|
||
/(баланс)[:\s]*([0-9][0-9\s]*[.,]?\d{0,2})\s*(₽|руб\.?|rub|р)\b/i;
|
||
|
||
console.log("Текст:", text);
|
||
console.log("Регулярка:", balanceRegex);
|
||
|
||
// Проверим по шагам
|
||
console.log("\n=== ДИАГНОСТИКА ===");
|
||
|
||
// 1. Проверим, есть ли слово "баланс" в тексте
|
||
console.log("1. Содержит 'Баланс':", text.includes("Баланс"));
|
||
console.log(" Индекс 'Баланс':", text.indexOf("Баланс"));
|
||
|
||
// 2. Проверим символ после "Баланс"
|
||
const balanceIndex = text.indexOf("Баланс");
|
||
if (balanceIndex > -1) {
|
||
const afterBalance = text.substring(balanceIndex, balanceIndex + 20);
|
||
console.log("2. Текст после 'Баланс':", afterBalance);
|
||
console.log(" Коды символов после 'Баланс':");
|
||
for (let i = 0; i < 10; i++) {
|
||
const char = text[balanceIndex + 7 + i];
|
||
console.log(` ${char} (${char?.charCodeAt(0)})`);
|
||
}
|
||
}
|
||
|
||
// 3. Проверим часть с суммой вручную
|
||
console.log("\n3. Проверка частичными регулярками:");
|
||
|
||
// Проверяем только слово "баланс"
|
||
const test1 = /баланс/i.test(text);
|
||
console.log(" Находит 'баланс':", test1);
|
||
|
||
// Проверяем "баланс" с пробелом и числом
|
||
const test2 = /баланс\s*\d/i.test(text);
|
||
console.log(" Находит 'баланс' с числом:", test2);
|
||
|
||
// Проверяем всю сумму без валюты
|
||
const test3 = text.match(/баланс[:\s]*([\d\s.,]+)/i);
|
||
console.log(" Находит сумму без валюты:", test3);
|
||
|
||
// Проверяем валюту отдельно
|
||
const test4 = text.match(/р\b/);
|
||
console.log(" Находит 'р' с границей слова:", test4);
|
||
|
||
// Альтернативная регулярка без \b
|
||
const balanceRegexSimple =
|
||
/(баланс)[:\s]*([0-9][0-9\s]*[.,]?\d{0,2})\s*(₽|руб\.?|rub|р)/i;
|
||
console.log("\n4. С упрощенной регуляркой (без \\b):");
|
||
console.log(" Результат:", text.match(balanceRegexSimple));
|