Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.72/29: Рейтинг темы: голосов - 29, средняя оценка - 4.72
diklang
0 / 0 / 0
Регистрация: 13.03.2007
Сообщений: 28
1

Как проверить на javascript корректность ввода даты и суммы

28.04.2007, 16:21. Просмотров 5438. Ответов 2
Метки нет (Все метки)

Подскажите
Как проверить в HTML на javascript корректность ввода юзером даты и суммы в поле.
Т.е. в VBScript есть функции IsDate, IsNumeric
а как сделать на java
И еще как отследить правильность ввода разделителя целой части от десятичной (например запятая или точка)
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2007, 16:21
Ответы с готовыми решениями:

RegExp: проверить корректность ввода имени и пароля
Здравствуйте! Никогда раньше не сталкивался с RegExp, и, поползав по интернету, не очень пока...

Как проверить корректность даты?
Имеется-ли какая-нибудь функция, которая проверяет корректность даты?

Как проверить корректность введенной даты
1. Даны натуральные числа а,b,с, которые обозначают число, месяц, год. Проверить корректность этой...

Проверить корректность заданной даты
задана дата в пределах годах (число - от 1 до 31, месяц -от 1 до 12). Проверить корректность...

Проверить корректность ввода
Постройте функции для запроса и чтения ФИО, почтового адреса и даты, и проверьте корректность ввода.

2
Арджуна
0 / 0 / 1
Регистрация: 26.04.2007
Сообщений: 3
29.04.2007, 19:49 2
Лучший ответ Сообщение было отмечено diklang как решение

Решение

вот код, копайся

*********************************
процедура проверки даты:
*********************************
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
function IsDate(theElem,LNG)
{
 
//LNG - язык, может быть либо ''-Русский и 
//соответственно, наш формат даты, т.е. д/м/г, 
//либо '2' - английский и, соответственно, амер. 
//формат, т.е. м/д/г
//theElem-имяэлемента для ввода даты
 
    result = true;
    aStr = theElem.value;
    count = aStr.length;    
 
    if( count!=0 )
    {
        result = false;
        
        // get month
        firstInd = aStr.indexOf('/',0)
        if(firstInd!=-1)
        {
            if( IsIntPriv(aStr.substr(0,firstInd)) )
            {
                day = parseInt(RemoveLeadZeros(aStr.substr(0,firstInd)))-1;
        
                // get day and year
                secInd = aStr.indexOf('/',firstInd+1)
                if(secInd!=-1)
                {
                    if( (IsIntPriv(aStr.substr(firstInd+1,secInd-firstInd-1))) && (IsIntPriv(aStr.substr(secInd+1,count-secInd-1))) )
                    {
                        month = parseInt(RemoveLeadZeros(aStr.substr(firstInd+1,secInd-firstInd-1)));
                        year = parseInt(RemoveLeadZeros(aStr.substr(secInd+1,count-secInd-1)));
 
                        // validate date
                        mydate = new Date( year, month, day )
                        if((day==mydate.getDate())&&(month==mydate.getMonth())&&(year==mydate.getFullYear())&&(year>1753))
                            result = true;
                    }
                }
            }
        }
 
        // show error message
        if( !result )
        {
            if (LNG=='')
            {sMSG='В этом поле должна быть дата в формате: 'день/месяц/год(4знака)', например:16/11/2001)!'}
            else
            {sMSG='This field requires a date (d/m/yyyy)!'}
            alert(sMSG);
            theElem.focus();
        }
    }
 
    return result;
}
*********************************
вызов вышеуказанной процедуры:
*********************************
Javascript
1
2
3
4
5
6
7
8
<script LANGUAGE=JavaScript>
function Form_Validator(theForm)
{
if(IsDate(theForm.MessageDate,''))
return false;
return true;
}
</script>
*********************************
привязка процедуры проверки к форме:
*********************************
HTML5
1
2
3
4
<form method=POST onsubmit='return Form_Validator(this);'>
<input name=MessageDate size=10 maxlength=10>
<input type=submit>
</form>
0
diklang
0 / 0 / 0
Регистрация: 13.03.2007
Сообщений: 28
30.04.2007, 10:55  [ТС] 3
Написать анализатор самому - это можно было б догадаться...
Хотелось бы по проще и по красивее...
Например может через isFinite и isNaN???
И еще все-таки - а как быть с разделителем целых чисел от десятичных

какие есть варианты?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2007, 10:55

Проверить корректность ввода скобок!
Помогите пожалуйста! Для введенной с клавиатуры строки программа должна определить, корректно ли...

Проверить корректность ввода элементов матрицы
Ввод элементов матрицы А(m, n) осуществляется в произвольном порядке тройками чисел &lt; i, j, Aij&gt;....

Числа a, b, c обозначают дату. Проверить корректность этой даты
Числа a,b,c обозначают дату. Проверить корректность этой даты. Как можно сделать это?)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru