Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Регулярные выр-я.Проблема с "плавающей точкой" 
:(
    Опции темы
iDrum
Дата 1.11.2006, 07:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 5.5.2006

Репутация: нет
Всего: нет



проверяю элементы формы на ввод,нужно что бы были только цифры (1 или 2 или дроби 1,2;1,5 и тд),просто с цифрами всё нормально, но дроби не проходят.
форма:
Код

        <form action="index.php" method="post" onsubmit="this.submit.disabled=true;if(process_form(this)){return true;}else{this.submit.disabled=false;return false;}">
            <table border="1" class="TBLsearch">
                <tr>
                   <td>Длина:</td><td><input type="text" name="l" value="<?echo $l;?>"></td>
                   <td>Высота:</td><td><input type="text" name="h" value="<?echo $h;?>"></td>
                   <td>Ширина:</td><td><input type="text" name="w" value="<?echo $w;?>"></td>
                </tr>
                <tr>
                   <td colspan="10" align="center"><input type="submit" class="button" name="submit" value="подобрать"></td>
                </tr>
            </table>


Проверяю так:

Код

function process_form(the_form)
{
    var element_names = new Object()
    element_names["h"] = "Высота";
    element_names["w"] = "Ширина";
    element_names["l"] = "Длина";

    if (document.all || document.getElementById)
    {
        for (i = 0; i < the_form.length; ++i)
        {
            var elem = the_form.elements[i]
        if (elem.name)
            {
    var reg=/\D/;

    if(elem.name!='submit' && reg.test(elem.value)){
        alert("\""+elem.value+"\" не цифра!");
        elem.focus();
        return false;
    }

                if (elem.type && (elem.type=="text" || elem.type=="textarea" || elem.type=="password" || elem.type=="file") && elem.value=='')
                {
                    alert("\"" + element_names[elem.name] + "\" это поле обязательно для заполнения в этой форме.")
                    elem.focus()
                    return false
                }
            }
        }
    }

    return true
}


как правильно задать    var reg=/\D/; ?

Это сообщение отредактировал(а) iDrum - 1.11.2006, 07:27
PM MAIL   Вверх
pythonwin
Дата 1.11.2006, 07:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 1
Всего: 36



Цитата(iDrum @  1.11.2006,  14:26 Найти цитируемый пост)
как правильно задать    var reg=/\D/; ?

Код

    if (elem1.value=='-.'){elem1.value=''};
    if (elem1.value=='.') {elem1.value='0.0'}
    if (!elem1.value.match(/^\-?\d*\.?\d*$/)||elem1.value==''){
    alert(s);
    elem1.focus();

где elem1 - поле, s - строка сообщения.
PM WWW GTalk Jabber   Вверх
12345c
Дата 2.11.2006, 05:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Проще проверить на число: "12345.6".replace(/(\d+\.?\d*)/,"")==""
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0423 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.