Следующая проверка используется в JavaScript для проверки чисел с плавающей точкой или без точки, при этом не пропускает варианты когда точка стоит в начале или конце и перед или после её(соответственно) нет цифр.
!(/^\d+(?:[\.,]\d+)?$/).exec((value_inp+'').replace(',','.'))
На PHP это регулярное выражение выглядит так:
preg_match("|^\d+(?:[\.,]\d+)?$|is", strtolower($checkText));
Символы
- .(точка) - любой символ
- s - пробельный символ, в том числе табуляция(\t), перенос строки(\n), возврат каретки (\r);
- S - любой символ кроме пробельного;
- w - любая буква или цифра;
- W - не буква и не цифра;
- d - любая цифра;
- D - любой символ кроме цифр;
- [:alpha:] - буква;
- [:digit:] - цифра;
- [:alnum:] - буква или цифра;
- [:space:] - пробельный символ;
- [:blank:] - пробельный символ или символы с кодом 0 или 255;
- [:cnrlt:] - управляющий символ;
- [:graph:] - символ псевдографики;
- [:lower:] - символ нижнего регистра;
- [:upper:] - символ верхнего регистра;
- [:print:] - печатный символ;
- [:punct:] - знак пунктуации;
- [:xdigit:] - цифра в шеснадцатиричном формате, то есть цифры и буквы от A до F;
- [::] - любой символ кроме цифр;
Модификаторы
- i - не учитывать регистр;
- s - работать в однострочном режиме.