Когда дело доходит до обработки и проверки чисел в JavaScript, регулярные выражения (регулярные выражения) являются мощным инструментом в вашем арсенале. В этой статье блога мы рассмотрим ряд методов, использующих разговорный язык, и приведем примеры кода, которые помогут вам освоить проверку чисел в JavaScript.
Метод 1: базовая проверка номера
Давайте начнем с базового подхода к проверке того, содержит ли строка допустимое число. Мы можем использовать метод test()объекта RegExpв JavaScript, чтобы проверить, соответствует ли строка заданному шаблону. Вот пример:
const numberPattern = /^\d+$/;
const input = "12345";
if (numberPattern.test(input)) {
console.log("Valid number!");
} else {
console.log("Invalid number!");
}
Метод 2: проверка десятичных чисел
Чтобы проверить десятичные числа, мы можем немного изменить шаблон регулярного выражения. В следующем примере показано, как проверить строку, представляющую десятичное число:
const decimalPattern = /^\d+(\.\d+)?$/;
const input = "3.14";
if (decimalPattern.test(input)) {
console.log("Valid decimal number!");
} else {
console.log("Invalid decimal number!");
}
Метод 3: проверка отрицательного числа
Если вам также необходимо проверять отрицательные числа, вы можете обновить шаблон регулярного выражения, включив в него необязательный знак минус. Вот пример:
const negativeNumberPattern = /^-?\d+(\.\d+)?$/;
const input = "-42.75";
if (negativeNumberPattern.test(input)) {
console.log("Valid negative number!");
} else {
console.log("Invalid negative number!");
}
Метод 4. Проверка научной записи
Научные обозначения обычно используются для обозначения больших или малых чисел. Чтобы проверить числа, записанные в экспоненциальной записи, мы можем использовать возможности регулярных выражений. Взгляните на следующий пример:
const scientificPattern = /^[+-]?\d+(\.\d+)?([eE][+-]?\d+)?$/;
const input = "1.23e-4";
if (scientificPattern.test(input)) {
console.log("Valid scientific notation number!");
} else {
console.log("Invalid scientific notation number!");
}
Метод 5: проверка диапазона
В некоторых случаях вам может потребоваться проверить, попадает ли число в определенный диапазон. Хотя само по себе регулярное выражение может быть не лучшим решением для этой проблемы, вы можете объединить его с дополнительной логикой JavaScript. Вот пример, демонстрирующий проверку числа в диапазоне:
const numberRangePattern = /^(0|[1-9]\d{0,2})$/;
const input = "42";
if (numberRangePattern.test(input) && parseInt(input) >= 1 && parseInt(input) <= 100) {
console.log("Valid number within range!");
} else {
console.log("Invalid number or out of range!");
}
В этой статье мы рассмотрели различные методы проверки чисел в JavaScript с использованием регулярных выражений. Используя возможности регулярных выражений, вы можете эффективно обрабатывать сценарии проверки чисел в своих проектах JavaScript. Будь то базовая проверка чисел, десятичных чисел, отрицательных чисел, экспоненциальная запись или проверка диапазона, регулярное выражение обеспечивает гибкий подход.
Поняв и применив эти методы, вы будете хорошо подготовлены к эффективной проверке чисел в своем коде JavaScript.