Регулярное выражение для сопоставления чисел от 0 до 25 включительно, которые могут удваиваться с точностью до 1

Я хочу использовать Regex для сопоставления чисел от 0 до 25 включительно, которые могут быть удвоены с точностью до 1.

Напр.- 2, 2.5, 23.0, 8, 24.3, 25

Я создал следующее регулярное выражение:

^(\\s*|0?[0-9]|[0-9]|1[0-9]|2[0-5])$

Но это работает только для чисел от 0 до 25 включительно.

Возможный дубликат: stackoverflow.com/questions/308122/…

Triston Wasik 18.04.2019 17:39

Зачем это делать с регулярным выражением?

Barmar 18.04.2019 17:40

@ Бармар Легкий ответ. Так что я могу опубликовать и получить некоторые очки. Да!

Tim Biegeleisen 18.04.2019 17:42

@Barmar- Я использую schemaform.io, и для этого требуется регулярное выражение в качестве шаблона.

My God 18.04.2019 17:48
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
46
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Для проверки правильности используйте операторы >= и <=. Чтобы выполнить требование регулярного выражения, просто добавьте регулярное выражение мусора.

let isMatch = number => {
  'must use regex'.match(/x/);
  return number >= 0 && number <= 25;
};
Ответ принят как подходящий

Это шаблон регулярного выражения, который я бы использовал здесь:

^(?:(?:[0-9]|1[0-9]|2[0-4])(?:\.[0-9])?|25(?:\.0)?)$

Демо

Шаблон аналогичен тому, что вы использовали, за исключением того, что мы сопоставляем 2[0-4] только с любой одиночной десятичной точкой. Конечная точка 25 — это особый случай, который может принимать не более 25.0 для своего десятичного компонента.

Но в целом в JavaScript было бы проще просто разобрать текстовое число, а затем использовать неравенство для проверки диапазона. Например.

var number = '24.3'
if (number >= 0 && number <= 25.0) {
    console.info('within range');
}

Другие вопросы по теме