Я пытаюсь сопоставить десятичные дроби как для строк, так и для чисел с плавающей запятой. Заметил, что приведенный ниже RegEx совпадает с плавающими, заканчивающимися точкой (.), Что не ожидается.
const regex = RegExp("^(\\d*\\.)?\\d+$");
arrTest = ["3.", 3., "4.", 4., "5.5", 5.5];
arrTest.forEach(element => {
console.log(regex.test(element))
});
/*
Result
=======
"3." - False
3. - True (Expecting false since regex should end with a number)
"4." - False
4. - True (Expecting false since regex should end with a number)
"5.5" - True
5.5 - True
*/