java面试题之三:html&JavaScript&ajax 部分

三. html&JavaScript&ajax 部分

1. 判断第二个日期比第一个日期大

如何用脚本判断用户输入的的字符串是下面的时间格式2004-11-21 必须要保证用户的输

入是此格式,并且是时间,比如说月份不大于12 等等,另外我需要用户输入两个,并且后一个

要比前一个晚,只允许用JAVASCRIPT,请详细帮助作答,,

//这里可用正则表达式判断提前判断一下格式,然后按下提取各时间字段内容

<script type="text/javascript">

window.onload = function()

{

//这么写是为了实现js 代码与html 代码的分离,当我修改js 时,不能影响html 代码。

document.getElementById("frm1").onsubmit =

function(){

var d1 = this.d1.value;

var d2 = this.d2.value;

if(!verifyDate (d1)) {alert("第一个日期格式不对");return false;}

if(!verifyDate (d2)) {alert("第二个日期格式不对");return false;}

if(!compareDate(d1,d2)) {alert("第二个日期比第一日期小");return false;}

};

}

function compareDate(d1,d2)

{

var arrayD1 = d1.split("-");

var date1 = new Date(arrayD1[0],arrayD1[1],arrayD1[2]);

var arrayD2 = d2.split("-");

var date2 = new Date(arrayD2[0],arrayD2[1],arrayD2[2]);

if(date1 > date2) return false;

return true;

}

function verifyDate(d)

{

var datePattern = /^\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/;

return datePattern.test(d);

}

</script>

<form id="frm1" action="xxx.html">

<input type="text" name="d1" />

<input type="text" name="d2" />

<input type="submit"/>

</form>

2. 用table 显示n 条记录,每3 行换一次颜色,即1,2,3 用红色字体,4,5,6 用绿色字体,

7,8,9 用红颜色字体。

<body>

<table id="tbl">

<tr><td>1</td></tr>

<tr><td>2</td></tr>

<tr><td>3</td></tr>

<tr><td>4</td></tr>

<tr><td>5</td></tr>

<tr><td>6</td></tr>

<tr><td>7</td></tr>

<tr><td>8</td></tr>

<tr><td>9</td></tr>

<tr><td>10</td></tr>

</table>

</body>

<script type="text/javascript">

window.onload=function()

{

var tbl = document.getElementById("tbl");

rows = tbl.getElementsByTagName("tr");

for(i=0;i<rows.length;i++)

{

var j = parseInt(i/3);

if(j%2==0) rows[i].style.backgroundColor="#f00";

else rows[i].style.backgroundColor="#0f0";

}

}

</script>

3、HTML 的form 提交之前如何验证数值文本框的内容全部为数字? 否则的话提示用户并终

止提交?

<form onsubmit=’return chkForm(this)’>

<input type="text" name="d1"/>

<input type="submit"/>

</form>

<script type=”text/javascript” />

function chkForm(this)

{

var value = thist.d1.value;

var len = value.length;

for(var i=0;i<len;i++)

{

if(value.charAt(i)>"9" || value.charAt(i)<"0")

{

alert("含有非数字字符"); return false;

}

}r

eturn true;

}

</script>

4、请写出用于校验HTML 文本框中输入的内容全部为数字的javascript 代码

<input type="text" id="d1" onblur=" chkNumber (this)"/>

<script type=”text/javascript” />

function chkNumber(eleText)

{

var value = eleText.value;

var len = value.length;

for(var i=0;i<len;i++)

{

if(value.charAt(i)>"9" || value.charAt(i)<"0")

{

alert("含有非数字字符");

eleText.focus();

break;

}

}

}

</script>

除了写完代码,还应该在网页上写出实验步骤和在代码中加入实现思路,让面试官一看就明白

你的意图和检查你的结果。

5、说说你用过那些ajax 技术和框架,说说它们的区别

posted on 2012-11-25 22:20  YangJin  阅读(600)  评论(0编辑  收藏  举报