JS判断文本框输入值,并给出提示(不用jQuery实现)
1)界面:给出一个文本框,给出一个按钮;
2)功能:当文本框输入为空时,给出当前的年月日(格式为:20120920)
当文本框输入为某值时,输出该值(值定义为8位数字,如:12345678)
3)功能:判断若该值大于当前日期数值,弹出提示:大了
若该值小于当前日期数值,弹出提示:小了
若该值等于当前日期数值,弹出提示:正好
注:小弟1、2步都可以袜,在第3步时思考几日,不太明白,请高手指点,谢谢了。
不用jQuery实现,单个html页面即可调试的,多谢。
------解决方案--------------------int a = Integer,parseInt(年月日)
int b = Integer,parseInt(document.form class名.文本框名.value)
if(a<b){
alert("小了");
}slse if(a>b){
alert("大了");
}else{
alert("正好");
}
------解决方案--------------------<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()是精确到毫秒的 而你给的时间只到天 所以很难正好 你可以在获得当前时间后截取到天后在比较试试
------解决方案--------------------额 你这不是日期 咋能输入12345678这种?不做日期判断?
------解决方案--------------------应该是没有输入值直接点按钮,输入框输出当前日期如:20120909
当输入数字不够8位时,提醒必须输入8位数,
当够了8位数时,第一步是判断这8位数是不是合法日期,总不能把99999999当日期比较吧。
当输入是8位日期格式时,直接比数字大小即可(没必要再换回日期比较了)
HTML code
日期: <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>
------解决方案--------------------
4楼正解 每天回帖即可获得10分可用分!小技巧:教您如何更快获得可用分