首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

JS来帮下忙

2012-03-03 
JS高手进来帮下忙。functiongetAge(strValidDate){vararrayValidDatestrValidDate.split( - )varintVal

JS高手进来帮下忙。
function   getAge(strValidDate)
                {
                var   arrayValidDate=   strValidDate.split( "- ");
                var   intValidYear=   parseInt(arrayValidDate[0]);//   获取出生日期年份
                var   intValidMonth=   parseInt(arrayValidDate[1]);//   获取出生日期月份
                var   intValidDay=   parseInt(arrayValidDate[2]);//   获取出生日期天数

                var   currentDate=   new   Date();//   获取当前日期
                var   intCurrentYear=   parseInt(currentDate.getYear());//   获取当前日期年份
                var   intCurrentMonth=   parseInt(currentDate.getMonth()   +   1);//   获取当前日期月份
                var   intCurrentDay=   parseInt(currentDate.getDate());//   获取当前日期天数
               
                var   intAge=   intCurrentYear   -   intValidYear;//   暂时年龄
               
                var   validDate=   new   Date(intValidYear,intValidMonth   -   1,intValidDay);//   日期型出生时间
                varageDate=   new   Date(intValidYear,intCurrentMonth   -   1,intCurrentDay);//   当前年周岁时间


                //   如果出生日期小于等于当前周岁时间则已满周岁否则不满周岁(减   1   )
                if   (   ageDate   -   validDate   <=   0   )
                {
              intAge=intAge-1;
                }
                                                                        //执行到此处时intAge仍然是正确的
                return   intAge;
                }

function   age()
{
if(getAge(strBirthday) <15)
                                {                                                       //执行不到此处
                                        ErrorString   =ErrorString+ '19, ';
                                        return   false;
                                }
                                else


                                {                                               //执行不到此处
                                        return   true;
                                }
}
为什么下面那个函数执行不到注释的那两个地方?
strBirthday传入的参数是正确的。
getAge()执行到注释的那个地方仍然是正确的。
调两天了,请高手不吝赐教。谢谢了。

[解决办法]
晕,getAge 没有任何错误,而是 age 后面的空格错了,居然是全角括弧,LZ 用什么字体呀?!

建议使用 Courier New 作为 Coding 标准字体!

function age()
改为
function age()
[解决办法]
L@_@K!

var strBirthday = "1979-9-9 "; // 27
alert(age()); // true, it 's right!
function age()
{
if(getAge(strBirthday) <15)
{ //执行不到此处
ErrorString =ErrorString+ '19, ';
return false;
}
else
{ //执行不到此处
return true;
}
}
[解决办法]
LZ运行一下以下代码:
<script type= "text/javascript ">
<!--
function wr(){
for(var i=0,j=arguments.length;i <j;i++)
document.write(arguments[i], "&nbsp;&nbsp;&nbsp; ");
document.write( " <br> ");
}
function getAge(strValidDate)
{
var arrayValidDate= strValidDate.split( "- ");
var intValidYear= parseInt(arrayValidDate[0]);// 获取出生日期年份
var intValidMonth= parseInt(arrayValidDate[1]);// 获取出生日期月份
var intValidDay= parseInt(arrayValidDate[2]);// 获取出生日期天数
wr(intValidYear,intValidMonth,intValidDay);
var currentDate= new Date();// 获取当前日期
var intCurrentYear= parseInt(currentDate.getYear());// 获取当前日期年份
var intCurrentMonth= parseInt(currentDate.getMonth() + 1);// 获取当前日期月份
var intCurrentDay= parseInt(currentDate.getDate());// 获取当前日期天数
wr(intCurrentYear,intCurrentMonth,intCurrentDay);
var intAge= intCurrentYear - intValidYear;// 暂时年龄
var validDate= new Date(intValidYear,intValidMonth - 1,intValidDay);// 日期型出生时间
varageDate= new Date(intValidYear,intCurrentMonth - 1,intCurrentDay);// 当前年周岁时间

wr(validDate,ageDate);

// 如果出生日期小于等于当前周岁时间则已满周岁否则不满周岁(减 1 )
if ( ageDate - validDate <= 0 )
{
intAge=intAge-1;
}
wr(intAge);
//执行到此处时intAge仍然是正确的
return intAge;
}

function age(strBirthday)
{
if(getAge(strBirthday) <15)
{ //执行不到此处
ErrorString =ErrorString+ '19, ';
return false;
}
else
{ //执行不到此处
return true;
}
}
wr(age( "1988-09-09 "))
//-->
</script>
[解决办法]
查查代码中是否含有不可见全角空格!

以下代码就是复制了 LZ 代码,一切正常

L@_@K!

<body>
<script type= "text/javascript ">
<!--
function getAge(strValidDate)
{
var arrayValidDate= strValidDate.split( "- ");


var intValidYear= parseInt(arrayValidDate[0]);// 获取出生日期年份
var intValidMonth= parseInt(arrayValidDate[1]);// 获取出生日期月份
var intValidDay= parseInt(arrayValidDate[2]);// 获取出生日期天数

var currentDate= new Date();// 获取当前日期
var intCurrentYear= parseInt(currentDate.getYear());// 获取当前日期年份
var intCurrentMonth= parseInt(currentDate.getMonth() + 1);// 获取当前日期月份
var intCurrentDay= parseInt(currentDate.getDate());// 获取当前日期天数

var intAge= intCurrentYear - intValidYear;// 暂时年龄

var validDate= new Date(intValidYear,intValidMonth - 1,intValidDay);// 日期型出生时间
varageDate= new Date(intValidYear,intCurrentMonth - 1,intCurrentDay);// 当前年周岁时间

// 如果出生日期小于等于当前周岁时间则已满周岁否则不满周岁(减 1 )
if ( ageDate - validDate <= 0 )
{
intAge=intAge-1;
}
//执行到此处时intAge仍然是正确的
return intAge;
}

function age()
{
if(getAge(strBirthday) <15)
{
ErrorString = ErrorString + '19, ';
return false;
}
else
{
return true;
}
}

var strBirthday = "1999-9-9 ";
//var strBirthday = "1979-9-9 ";
var ErrorString = "Error: ";

alert(age());
alert(ErrorString);

//-->
</script>
</body>

热点排行
Bad Request.