<script language="javascript">
function show(){
var str=document.getElementById("sj").value;var re=/^[\d]{8}$/
if(!re.test(str)){
alert('只能是8位数字')
}
else if(re.test(str)){
document.getElementById("sj").value=str.substr(0,4)+"/"+str.substr(4,2)+"/"+str.substr(6,2);
}
}
</script>
<input name="sj" type="text" id="sj" onblur="show()" />
function show(){
var str=document.getElementById("sj").value;var re=/^[\d]{8}$/
if(!re.test(str)){
alert('只能是8位数字')
document.getElementById("sj").focus();
document.getElementById("sj").select();
}
else if(re.test(str)){
document.getElementById("sj").value=str.substr(0,4)+"/"+str.substr(4,2)+"/"+str.substr(6,2);
}
}
</script>
<input name="sj" type="text" id="sj" onblur="show()" />
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
</head>
<body>
<input name="sj" type="text" id="sj" onblur="valid()" onfocus="view()" />
<script language="javascript">
var el=document.getElementById("sj");
function valid()
{
var re=/^[0-9]{8}$/;
if(!re.test(el.value))
{
alert('只能是8位数字');
}
else if(re.test(el.value))
{
el.value=el.value.substr(0,4)+"/"+el.value.substr(4,2)+"/"+el.value.substr(6,2);
}
}
function view()
{
el.value=el.value.replace(/\//g,"");
}
</script>
</body>
</html>
我 4楼的代码你不用??
<script type="text/javascript">//<![CDATA[
function formatDate(s, delemeter) {
var r = [];
String(s).replace(/(\d{4})((?:1[0-2])|(?:0(?:[1-9])))((?:0(?:1-9))|(?:[1,2][0-9])|(?:30|31))/g,function(a,y,m,d){r.push(y,m,d);});
return r.length==3?r.join(delemeter?delemeter:'-'):false;
};
alert(formatDate('20080221'));
alert(formatDate('20081331'));
//]]></script>
判定规则:四位数(01-12)(01-31)
以上是验证日期的正则表达式
在失去焦点的时候验证,验证通过直接将日期转换成你规定的格式就ok了。
alert(formatDate('20080801','/'));
我试了一下,4楼代码有问题呀,并没有完全实现要求,
7楼的才是对的,再给input加个maxlength=8就完美了
<script language="javascript">
var el=document.getElementById("sj");
function valid()
{
var re=/^[0-9]{8}$/;
if(!re.test(el.value))
{
alert('只能是8位数字');
el.focus();
}
else if(re.test(el.value))
{
el.value=el.value.substr(0,4)+"/"+el.value.substr(4,2)+"/"+el.value.substr(6,2);
}
}
function view()
{
el.value=el.value.replace(/\//g,"");
el.select();
}
</script>