[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проверка на число
Jokeryuga
Такой вопрос...есть форма и нужно проверить данные. не ноль,не отриц.,целое,не с буквами...вроде всё) написал вот такой код,всё работает,а вот с целым числом и с буквой не получается...помогите пожалуйста.
function provDataGuest(data)
{
if (data.qty.value <= 0 || data.qty.value == "" || data.qty.value.match(/^[-\+]?\d+/) == null ) {
alert('Введите правильно количество товара!');//последняя проверка не работает как не вертел
return false;
}

//все обязательные данные введены, поэтому отправляем форму
obj_form.submit();
}




Спустя 6 минут, 51 секунда (17.01.2012 - 21:37) redreem написал(а):
так не вариант?

function provDataGuest(data) { 
if (data.qty.value*1 != Math.abs(data.qty.value)) {
alert('Введите правильно количество товара!');//последняя проверка не работает как не вертел
return false;
}
//все обязательные данные введены, поэтому отправляем форму
obj_form.submit();
}

Спустя 9 минут, 3 секунды (17.01.2012 - 21:46) Jokeryuga написал(а):
Цитата (redreem @ 17.01.2012 - 18:37)
так не вариант?

function provDataGuest(data) { 
if (data.qty.value*1 != Math.abs(data.qty.value)) {
alert('Введите правильно количество товара!');//последняя проверка не работает как не вертел
return false;
}
//все обязательные данные введены, поэтому отправляем форму
obj_form.submit();
}

так вариант!СПАСИБО!а как проверить на целое число?если 1.5 ввожу проходит

Спустя 32 секунды (17.01.2012 - 21:46) asokol написал(а):
Так не match, а test.

Синтаксис: regexp.test(str);
http://javascript.ru/RegExp/test

Не устраивает проверка parseInt(val) != val?

Сделайте тогда так что ли:
re = /^\d+$/;
if (!re.test(data.qty.value)) {
alert('Укажите число!');
}


Умоляю, разберитесь, как это работает, пожалуйста!

Спустя 2 минуты, 53 секунды (17.01.2012 - 21:49) Игорь_Vasinsky написал(а):
Просто - узнай тип переменной, вот аналог gettype() PHP тока для JS
http://www.navioo.com/javascript/tutorials...ttype_1592.html


function gettype( mixed_var ) {
// Returns the type of the variable
//
// version: 812.3015
// discuss at: http://phpjs.org/functions/gettype
// + original by: Paulo Ricardo F. Santos
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: Douglas Crockford (http://javascript.crockford.com)
// - depends on: is_float
// - depends on: is_array
// - depends on: is_object
// % note 1: lacks resource type
// % note 2: 1.0 is simplified to 1 before it can be accessed by the function, this makes
// % note 21: it different from the PHP implementation. We can't fix this unfortunately.
// * example 1: gettype(1);
// * returns 1: 'integer'
// * example 2: gettype(undefined);
// * returns 2: 'undefined'
// * example 3: gettype({0: 'Kevin van Zonneveld'});
// * returns 3: 'array'
// * example 4: gettype('foo');
// * returns 4: 'string'
// * example 5: gettype({0: function () {return false;}});
// * returns 5: 'array'

var type;

var typeOf = function (value) {
// From: http://javascript.crockford.com/remedial.html
var s = typeof value;
if (s === 'object') {
if (value) {
if (typeof value.length === 'number' &&
!(
value.propertyIsEnumerable('length')) &&
typeof value.splice === 'function') {
s = 'array';
}
}
else {
s = 'null';
}
}

return s;
}

switch (type = typeOf(mixed_var)) {
case 'number':
return (is_float(mixed_var)) ? 'double' : 'integer';
break;
case 'object':
case 'array':
if (is_array(mixed_var)) {
return 'array';
} else if (is_object(mixed_var)) {
return 'object';
}
break;
}

return type;
}


Спустя 3 минуты, 51 секунда (17.01.2012 - 21:53) Jokeryuga написал(а):
ЕЩЁ РАЗ СПАСИБО!)))

Спустя 13 минут, 2 секунды (17.01.2012 - 22:06) redreem написал(а):
с проверкой на целое:

if ((data.qty.value*1 != Math.abs(data.qty.value)) || (data.qty.value > Math.floor(10*data.qty.value/10))) {


Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.