2015-04-03 2 views
1

Я придумал это регулярное выражение для проверки яваскрипта номера в соответствии со спецификацией:Javascript числа регулярного выражений

(-|\+|)(\d+\.?\d*|\.\d+)([eE](-|\+|)\d+)? 

Насколько я могу думать, это действительные числа в ЯШАХ:

123,123.3, .3, -123, -.3, -.3e-2, -.3e + 2, + .2e2 ... и так далее.

Я пытался найти проверенное регулярное выражение в Интернете, чтобы я мог сравнивать свое решение, но безрезультатно.

Может ли кто-нибудь сказать мне, подходит ли мой подход или дать мне лучшее решение?

Link to test my solution

+2

Я не понимаю, что случилось с 'isNaN'? – adeneo

+0

это регулярное выражение, не предназначенное для использования в js – acontell

+0

И все же вы пытаетесь сопоставить действительные числа в js? – adeneo

ответ

1

При использовании isNan правильный способ проверки чисел в JavaScript, вы можете также проверить числа с плавающей точкой с [-+]?[0-9]*\.?[0-9]+(?:[eE][-+]?[0-9]+)? регулярным выражением (взято из Regular-Expressions.info).

Рассмотрите возможность использования соответствующих якорей! (^ для начала строки, $ для шнурок конец).

Demo is available here.

+0

Спасибо! Рад видеть, что он более или менее похож на тот, с которым я столкнулся (хотя способ, которым это выражение относится к проблеме «точка», лучше) – acontell

Смежные вопросы