|
|
|
Forum Member
      
участник
Last Login: 30.04.2002 8:18
Сообщ.: 28,
Visits: 309
|
|
Подскажите
Как проверить в HTML на javascript корректность ввода юзером даты и суммы в поле.
Т.е. в VBScript есть функции IsDate, IsNumeric
а как сделать на java
И еще как отследить правильность ввода разделителя целой части от десятичной (например запятая или точка)
|
|
|
|
|
новичок
      
участник
Last Login: 19.02.2001 18:59
Сообщ.: 2,
Visits: 23
|
|
вот код, копайся:)
*********************************
процедура проверки даты:
*********************************
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;
}
*********************************
вызов вышеуказанной процедуры:
*********************************
<script LANGUAGE=JavaScript>
function Form_Validator(theForm)
{
if(IsDate(theForm.MessageDate,''))
return false;
return true;
}
</script>
*********************************
привязка процедуры проверки к форме:
*********************************
<form method=POST onsubmit='return Form_Validator(this);'>
<input name=MessageDate size=10 maxlength=10>
<input type=submit>
</form>
|
|
|
|
|
Forum Member
      
участник
Last Login: 30.04.2002 8:18
Сообщ.: 28,
Visits: 309
|
|
Написать анализатор самому - это можно было б догадаться...
Хотелось бы по проще и по красивее...
Например может через isFinite и isNaN???
И еще все-таки - а как быть с разделителем целых чисел от десятичных
какие есть варианты?
|
|
|
|