Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: как сделать проверку на то, что бы в поле были только числа

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
livote
Отправлено: 28 Сентября, 2012 - 19:55:14
Post Id



Частый гость


Покинул форум
Сообщений всего: 243
Дата рег-ции: Авг. 2012  


Помог: 0 раз(а)

[+][+]


мне нужно проверить icq.код есть(взял от проверки мыла), но вот нужно что бы проверялось на то, что бы в значениях были только числа


-----
Не следует бояться зайти за пределы того, что считается возможным – ибо именно там находится успех.
 
 Top
re_nat
Отправлено: 28 Сентября, 2012 - 20:11:06
Post Id



Частый гость


Покинул форум
Сообщений всего: 198
Дата рег-ции: Март 2012  


Помог: 5 раз(а)




is_numeric()
 
 Top
livote
Отправлено: 28 Сентября, 2012 - 20:21:28
Post Id



Частый гость


Покинул форум
Сообщений всего: 243
Дата рег-ции: Авг. 2012  


Помог: 0 раз(а)

[+][+]


re_nat
Цитата:
is_numeric()


немного не понял.вот у меня было:

if (!ereg(".+@.+\..+", $em))
{ну и тут сообщение ошибки и выход...не важно}

как применить сюда is_numeric().что бы для определённой переменной

(Отредактировано автором: 28 Сентября, 2012 - 20:22:02)



-----
Не следует бояться зайти за пределы того, что считается возможным – ибо именно там находится успех.
 
 Top
KingStar
Отправлено: 28 Сентября, 2012 - 21:01:11
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




PHP:
скопировать код в буфер обмена
  1. $value = 12345;
  2.  
  3. if(!preg_match("/^[0-9]+$/", $value))
  4. {
  5.    echo "Переменная содержит не только числа";
  6. }
  7. else
  8. {
  9.   echo "Все гуд, переменная только из чисел";
  10. }


-----
То что программа работает, не означает что она написана правильно!
 
 Top
livote
Отправлено: 28 Сентября, 2012 - 21:06:24
Post Id



Частый гость


Покинул форум
Сообщений всего: 243
Дата рег-ции: Авг. 2012  


Помог: 0 раз(а)

[+][+]


KingStar, огромное спасибо!


-----
Не следует бояться зайти за пределы того, что считается возможным – ибо именно там находится успех.
 
 Top
armancho7777777 Супермодератор
Отправлено: 28 Сентября, 2012 - 21:39:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




livote пишет:
if (!ereg(".+@.+\..+", $em))
{ну и тут сообщение ошибки и выход...не важно}

Чем Вам не угодил
re_nat пишет:
is_numeric()
?)
 
 Top
KingStar
Отправлено: 28 Сентября, 2012 - 22:16:38
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




armancho7777777 видимо тем, что is_numeric(4.2) = true Подмигивание


-----
То что программа работает, не означает что она написана правильно!
 
 Top
armancho7777777 Супермодератор
Отправлено: 29 Сентября, 2012 - 10:08:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




KingStar пишет:
видимо тем, что is_numeric(4.2) = true

Ну так есть
Подмигивание
 
 Top
KingStar
Отправлено: 29 Сентября, 2012 - 10:11:58
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




armancho7777777 Радость Радость Радость

is_int(23) - true
is_int("23") - false

Язычок


-----
То что программа работает, не означает что она написана правильно!
 
 Top
armancho7777777 Супермодератор
Отправлено: 29 Сентября, 2012 - 10:17:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. $n = '23';
  3.  
  4. if(is_int($n * 1))
  5. {
  6.     echo 'true';
  7. }
  8.  
 
 Top
KingStar
Отправлено: 29 Сентября, 2012 - 10:18:42
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




armancho7777777, ты как ребенок, пока не скажешь "На конфетку" - не успокоишься Радость Радость Радость


-----
То что программа работает, не означает что она написана правильно!
 
 Top
armancho7777777 Супермодератор
Отправлено: 29 Сентября, 2012 - 10:20:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Для особо одарённых:
в PHP достаточно встроенных функции, что бы не придумывать для этого свои.
 
 Top
KingStar
Отправлено: 29 Сентября, 2012 - 10:29:59
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)





armancho7777777 пишет:
Для особо одарённых


а вот это уже полетел камень Нахмурился

если ты думаешь, что лучше делать две операции вместо одной, то делай, особо одаренные перебрали все варианты, которые только можно (видимо по незнанию того, что они возвращают в том или ином случае)

Ну что же, "На конфетку", а теперь аргументируй, почему мой ответ является ошибочным??? он не вернет желаемый результат???

(Добавление)
armancho7777777 пишет:
в PHP достаточно встроенных функции, что бы не придумывать для этого свои.


is_int($n * 1) - ну да, это сработала встроенная функция, никак не твой велосипед Хм


-----
То что программа работает, не означает что она написана правильно!
 
 Top
Мелкий Супермодератор
Отправлено: 29 Сентября, 2012 - 10:34:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




armancho7777777 пишет:
if(is_int($n * 1))

А теперь проверь на других данных.
Null, строка, даже объект даст true (последний хоть и с notice в комплекте).
Разве только массив не пропустит, с фаталом грохнется.


-----
PostgreSQL DBA
 
 Top
armancho7777777 Супермодератор
Отправлено: 29 Сентября, 2012 - 10:44:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




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

Да оказывается это ты так конфетки любишь ))
Успокойся, всё нормально ))
Я был не прав ))
(Добавление)
Мелкий пишет:
Null, строка, даже объект даст true (последний хоть и с notice в комплекте).

Да, точно Мелкий.
Ну, я в общем-то, если жду целое число, то и проверяю просто через is_int();
И чёрт с тем, что число будет представлена в виде строки: значит не пропущу.
Я то точно знаю, что число, если пришло коректно, то оно может быть только целым, а если нет, значит и пришло оно не коректно.
(Добавление)

KingStar пишет:
а вот это уже полетел камень Нахмурился

Ух ты))
Будь проще, и люди потянутся))
Знакомые слова ?))
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB