一个输入框
<input>默认状态下为YYYY-MM-DD
<input value="YYYY-MM-DD">当我点击时YYYY-MM_DD自动消失
<input value="YYYY-MM-DD" onfocus="this.value=''">当我输入1949时后面自动出现"-"
<input value="YYYY-MM-DD" onfocus="this.value=''" onkeyup="if(this.value=='1949'){this.value+='-'}">当我输入1949或1949-10输入框就变为1949或1949-10而不是消失
你要不删它它就不消失
<input>默认状态下为YYYY-MM-DD
<input value="YYYY-MM-DD">当我点击时YYYY-MM_DD自动消失
<input value="YYYY-MM-DD" onfocus="this.value=''">当我输入1949时后面自动出现"-"
<input value="YYYY-MM-DD" onfocus="this.value=''" onkeyup="if(this.value=='1949'){this.value+='-'}">当我输入1949或1949-10输入框就变为1949或1949-10而不是消失
你要不删它它就不消失
<input value="YYYY-MM-DD" onfocus="if(this.value!='1949'&&this.value!='1949-10'){this.value=''}" onkeyup="if(this.value=='1949'){this.value+='-'}">
<script>
var _defaultValue = "YYYY-MM-DD";
var _separator = "-";
function formatYmd(obj){
if(!obj||obj.value=="")return;
if(obj.value == _defaultValue){
obj.value="";
return;
}
if(obj.value.length==4&&checkYear(obj)){
obj.value += _separator;
var r = obj.createTextRange();
r.moveStart("character",obj.value.length);
r.select();
return;
}
if(obj.value.length==7&&checkYm(obj)){
obj.value += _separator;
var r = obj.createTextRange();
r.moveStart("character",obj.value.length);
r.select();
return;
}
}
function checkYear(obj){
var sDate=obj.value.replace(/(^\s+|\s+$)/g,"");
if(sDate == "")return true;
var reg = /^(\d{4})$/;
if(!checkDateByReg(sDate,reg)){
return false;
}
return true;
}
function checkYm(obj){
var sDate=obj.value.replace(/(^\s+|\s+$)/g,"");
if(sDate == "")return true;
var reg = new RegExp("^(\\d{4})"+_separator+"(\\d{2})$");
if(!checkDateByReg(sDate,reg)){
return false;
}
return true;
}
function checkDateByReg(sDate,reg){
var r = sDate.match(reg);
if(r==null)return false;
if(r.length < 3) r[2] = "01";
r[2]=r[2]-1;
if(r.length < 4) r[3] = "01";
var strDate = "new Date(";
for(var i=1; i<r.length; i++){
strDate = strDate + r[i];
strDate += (i==r.length-1) ? ")":",";
}
var d = eval(strDate);
if(d.getFullYear()!=r[1])return false;
if(d.getMonth()!=r[2])return false;
if(d.getDate()!=r[3])return false;
if(r.length > 4 && d.getHours()!=r[4])return false;
if(r.length > 5 && d.getMinutes()!=r[5])return false;
return true;
}
</script><input value="YYYY-MM-DD" onfocus="formatYmd(this)" onkeyup="formatYmd(this)">