JS判断文本框输入值,并给出提示(不用jQuery实现)

jadeguo 2012-09-20 11:31:10
1)界面:给出一个文本框,给出一个按钮;
2)功能:当文本框输入为空时,给出当前的年月日(格式为:20120920)
当文本框输入为某值时,输出该值(值定义为8位数字,如:12345678)
3)功能:判断若该值大于当前日期数值,弹出提示:大了
若该值小于当前日期数值,弹出提示:小了
若该值等于当前日期数值,弹出提示:正好

注:小弟1、2步都可以袜,在第3步时思考几日,不太明白,请高手指点,谢谢了。
不用jQuery实现,单个html页面即可调试的,多谢。
...全文
621 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jarow025 2012-09-21
  • 打赏
  • 举报
回复
int a = Integer,parseInt(年月日)
int b = Integer,parseInt(document.form class名.文本框名.value)
if(a<b){
alert("小了");
}slse if(a>b){
alert("大了");
}else{
alert("正好");
}
scscms太阳光 2012-09-21
  • 打赏
  • 举报
回复
应该是没有输入值直接点按钮,输入框输出当前日期如:20120909
当输入数字不够8位时,提醒必须输入8位数,
当够了8位数时,第一步是判断这8位数是不是合法日期,总不能把99999999当日期比较吧。
当输入是8位日期格式时,直接比数字大小即可(没必要再换回日期比较了)
日期: <input type="text" id="dd" maxlength="8" size="10"/> <input type="button" onclick="test()" value="确定" />
<script type="text/javascript">
function test(){
var v=document.getElementById("dd").value;
if(v==""){
document.getElementById("dd").value=get_date("");
}else if(v.length!=8){
alert("请输入8位数!");
}else if(!get_date(v)){
alert("你输入的日期有误!")
}else{
var i=get_date("");
if(v>i){
alert("大了");
}else if(v<i){
alert("小了");
}else{
alert("正好");
}
}
}
function get_date(v){
//功能:1.返回当前日期;2.判断是不是有效日期;
var t = new Date();
if(v!="")t = new Date(v.substring(0,4),v.substring(4,6)-1,v.substring(6,8));
var sj= t.getFullYear()+("0"+(t.getMonth()+1)).slice(-2)+("0"+t.getDate()).slice(-2);
if(v!=""){
return v==sj;
}else{
return sj;
}
}
</script>
天下如山 2012-09-21
  • 打赏
  • 举报
回复
额 你这不是日期 咋能输入12345678这种?不做日期判断?
似梦飞花 2012-09-21
  • 打赏
  • 举报
回复
<script type="text/javascript">
function test(a){
var x=a.value;
var d=new Date(2012,8,21);
if(x==""){
a.value=20120821;
}else{
alert(m+" "+n+" "+k);
var y=new Date(+x.substring(0,4),(+x.substring(4,6))-1,+x.substring(6),0,0,0);
var z=d.getTime();
var m=y.getTime();
if(z>m){
a.value="小了";
}else if(z<m){
a.value="大了";
}else{
a.value="正好";
}
}
}
</script>
</head>

<body>
<input type="text" onblur="test(this)">
</body>
</html>
说下 因为newDate().getTime()是精确到毫秒的 而你给的时间只到天 所以很难正好 你可以在获得当前时间后截取到天后在比较试试
lilo4033 2012-09-21
  • 打赏
  • 举报
回复
4楼正解 每天回帖即可获得10分可用分!小技巧:教您如何更快获得可用分
jadeguo 2012-09-21
  • 打赏
  • 举报
回复
谢谢各位朋友的回答,尤其谢谢xzy21com,我在出题时不够严谨,这个都看出来了。我刚才试了下,写得方法非常好,我晚上验证后即结帖。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧