Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проверка корректности числа через regexp
|
|||
|---|---|---|---|
|
#18+
Всем привет. Помогите написать регулярку, которая проверяет, является ли число целым, положительным и отличным от нуля. Важно также, чтобы оно не начиналось на 0. Иными словами, переменная состоит из одного или более символов, первый - 1-9, второй 0-9 или может не быть. Код: php 1. 2. Что не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2013, 17:09 |
|
||
|
Проверка корректности числа через regexp
|
|||
|---|---|---|---|
|
#18+
добавьте в шаблон условия начала и конца строки, примерно так: ^[1-9][0-9]*$ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2013, 17:15 |
|
||
|
Проверка корректности числа через regexp
|
|||
|---|---|---|---|
|
#18+
urukhay, if (intval($var)>0) {} ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2013, 08:53 |
|
||
|
Проверка корректности числа через regexp
|
|||
|---|---|---|---|
|
#18+
miksoft, Спасибо! А по чему без них не работает, не подскажете? r u, intval мне не подходит, т.к. нужна строкая проверка, что это число, а, например, intval('1a') выдаст 1, а мне нужно такой случай отсечь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2013, 15:10 |
|
||
|
Проверка корректности числа через regexp
|
|||
|---|---|---|---|
|
#18+
urukhayintval мне не подходитА так? if (strval(intval($var))==$var && $var != '0') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2013, 15:15 |
|
||
|
Проверка корректности числа через regexp
|
|||
|---|---|---|---|
|
#18+
urukhay, Без них ваше выражение истинно уже для первого символа: он не ноль, а второго символа может и не быть, а что там дальше или сначалу - не важно. Условия начала и конца - дополняют что больше "ваще ничего не должно быть"... как-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2013, 20:31 |
|
||
|
Проверка корректности числа через regexp
|
|||
|---|---|---|---|
|
#18+
urukhayintval мне не подходит, т.к. нужна строкая проверка, что это число is_numeric() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2013, 20:35 |
|
||
|
Проверка корректности числа через regexp
|
|||
|---|---|---|---|
|
#18+
Думаю, в этой задаче было бы более правильно отвлечся от понятия "число" и рассматривать проверяемое значение как строку. Это кажется наиболее простым вариантом. Тот же is_numeric() в значениях 2e5 или 010.3 признает числа, но они не должны проходить по условию задачи. В конечном счете получится довольно громоздкая конструкция из нескольких функций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2013, 20:51 |
|
||
|
Проверка корректности числа через regexp
|
|||
|---|---|---|---|
|
#18+
vkle, По-моему так не делают. Это же валидация? Вроде похоже http://www.php.net/manual/en/function.intval.php#109750 Код: sql 1. 2. 3. 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2013, 20:58 |
|
||
|
Проверка корректности числа через regexp
|
|||
|---|---|---|---|
|
#18+
Все что юзер вносит проверяется, форматируется и возвращается обратно в правильном виде туда, куда юзер вносит. Если юзер ввел настолько криво, что вернуть ничего нельзя - возвращается умолчание. Для особо тупых предусматривают баллоны жОлтого цвета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2013, 21:02 |
|
||
|
Проверка корректности числа через regexp
|
|||
|---|---|---|---|
|
#18+
Прошу прощения но в этом sql нет кнопки update. :) Так вот, для меня очевидно, я подумал что может быть не для всех. Всегда необходимо показывать юзеру как будет правильно. Нельзя брать кривые данные и пытаться понять что дятел на той стороне реки прохрипел. Принуждая юзера к информационной культуре вы облегчаете себе жизн. Как бы я сделал в интерфейсе обычной апликухе. Превратил бы в число и сравнил с известным условием. Не удовлетворяет - кнопка не активна, в поле вернулся правильный формат, появился баллон "Тебе же идиот написали: целое, больше нуля" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2013, 21:07 |
|
||
|
Проверка корректности числа через regexp
|
|||
|---|---|---|---|
|
#18+
debloggervkle, По-моему так не делают. Это же валидация?Понятия не имею, что это. Может данные из файла читаются или снимаются с какого-то датчика и по условию нужно их по-разному обработать. Например, выделить зеленым. У топикстартера условия задачи сформулированы предельно четко. Есть у Вас рабочее решение кроме исправленного регекспа из первого поста? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2013, 22:12 |
|
||
|
|

start [/forum/topic.php?fid=23&tid=1463625]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
52ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 315ms |

| 0 / 0 |
