Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: является ли строка числом?
 
 автор: sl1p   (08.10.2008 в 01:14)   письмо автору
 
 

люди хелп:)
пробежался по гуглу там куча какихто левых функций написанных вручую.. но я точно помню что гдето видел такую у самого жс...
как проверить сабж?

  Ответить  
 
 автор: PAT   (08.10.2008 в 01:43)   письмо автору
 
   для: sl1p   (08.10.2008 в 01:14)
 

typeof [(]expression[)]

returns: "number," "string," "boolean," "object," "function," and "undefined"
 

  Ответить  
 
 автор: sl1p   (08.10.2008 в 01:56)   письмо автору
 
   для: PAT   (08.10.2008 в 01:43)
 

пасипки огромное)

  Ответить  
 
 автор: sl1p   (08.10.2008 в 02:06)   письмо автору
 
   для: PAT   (08.10.2008 в 01:43)
 

эм я извиняюсь..
помогите тут как-то)

<input type="text" class="text" id="infommd_ban_time_else_val" style="width:30px;" maxlength="3">
alert(typeof(document.getElementById('infommd_ban_time_else_val').value));

в строке находится 123 выдаёт "string"...

как мне в инпуте проверить введены ли цифры?

  Ответить  
 
 автор: PAT   (08.10.2008 в 02:39)   письмо автору
 
   для: sl1p   (08.10.2008 в 02:06)
 

Инпут (и текстареа) всегда отдают строку, потому что по умолчанию их VALUE - пустая строка (а не ноль и не undefined).

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

Если же не уверены, то надо проверять.

Один из способов - используя регулярное выражение.
Удостоверяетесь, что после замены всех цифр на пустоту длина значения VALUE равна нулю. (Плюс не забываем проверять - а не пустое ли значение).

Для вашего примера:
var x = document.getElementById ('infommd_ban_time_else_val').value;
alert ((!x.length || x.replace (/\d/g, '').length) ? 'Есть нецифровые символы (или вовсе пусто)' : (x * 1));

  Ответить  
 
 автор: sl1p   (08.10.2008 в 04:16)   письмо автору
 
   для: PAT   (08.10.2008 в 02:39)
 

во, то что надо, спасибо:)

  Ответить  
 
 автор: sl1p   (08.10.2008 в 07:16)   письмо автору
 
   для: PAT   (08.10.2008 в 02:39)
 

а как сюда ещё можно вставить проверку на то что число больше 0?
if(qq('infommd_ban_time_else_val').value.replace(/\d/g,'').length)

ато вставляю parseInt(qq('infommd_ban_time_else_val').value)>0
и всё условие игнорится..(

  Ответить  
 
 автор: PAT   (08.10.2008 в 12:54)   письмо автору
 
   для: sl1p   (08.10.2008 в 07:16)
 

alert ((!x.length || x.replace (/\d/g, '').length) ? 'Есть нецифровые символы (или вовсе пусто)' : ((x * 1) ? (x * 1) : 'Нуль, блин!'));

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования