<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<head>
<meta http-equiv=
"Content-Type"
content=
"text/html; charset=utf-8"
/>
<title>正则表达式</title>
<script type=
"text/javascript"
language=
"javascript"
>
function
isMail()
{
var
mail= document.getElementById(
"mail"
).value
var
result=mail.match(/^w+([.-]?w+)*@w+([.-]?w+)*(.w{2,3})+$/ );
if
(result!=
null
)
alert(
"邮箱格式正确!!!"
);
else
alert(
"邮箱格式不正确,请重新输入!!!"
);
}
//-------------------------------------------------------------------------
function
isIP()
{
var
ip= document.getElementById(
"ip"
).value
var
result=ip.match (/([0-9]{1,3}.{1}){3}[0-9]{1,3}/ );
if
(result!=
null
)
alert(
"IP格式正确!!!"
);
else
alert(
"IP格式不正确,请重新输入!!!"
);
}
//-------------------------------------------------------------------------
function
isShenFen()
{
var
shenfen= document.getElementById(
"shenfen"
).value
var
result=shenfen.match(/^d{15}|d{}18$/);
if
(result!=
null
)
alert(
"身份证格式正确!!!"
);
else
alert(
"身份证格式不正确,请重新输入!!!"
);
}
//------------------------------------------------------------------------
function
isDate()
{
var
date= document.getElementById(
"date"
).value
var
result=date.match(/^(d{4})-(d{2})-(d{2})$/ );
if
(result!=
null
)
alert(
"日期格式正确!!!"
);
else
alert(
"日期格式不正确,请重新输入!!!"
);
}
//---------------------------------------------------------------------------
function
isTime()
{
var
time= document.getElementById(
"time"
).value
var
result=time.match(/^(d{2}):(d{2}):(d{2})$/);
if
(result!=
null
)
alert(
"时间格式正确!!!"
);
else
alert(
"时间格式不正确,请重新输入!!!"
);
}
</script>>
</head>
<body bgcolor=
"#FFCC00"
>
<form name=
"name"
action=
"#"
>
<div style=
" margin-left:300px; margin-right:300px;background-position:center ;background-color: #F60"
align=
"center"
>
<h1><p align=
"center"
>正则表达式</h1></p>
<div>邮箱地址的验证:
<input type=
"text"
name=
"mail"
id=
"mail"
>
<input type=
"submit"
name=
"button1"
value=
"验证"
onclick=
"isMail()"
/>
</div>
<br />
<div>IP地址的验证:
<input type=
"text"
name=
"ip"
id=
"ip"
>
<input type=
"submit"
name=
"button2"
value=
"验证"
onclick=
"isIP()"
>
</div><br />
<div>身份证号的验证:
<input type=
"text"
name=
"shenfen"
id=
"shenfen"
>
<input type=
"submit"
name=
"button3"
value=
"验证"
onclick=
"isShenFen()"
>
</div><br />
<div>日期的验证:
<input type=
"text"
name=
"date"
id=
"date"
>
<input type=
"submit"
name=
"button4"
value=
"验证"
onclick=
"isDate()"
>(例如:1990-01-01)
</div><br />
<div>时间的验证:
<input type=
"text"
name=
"time"
id=
"time"
>
<input type=
"submit"
name=
"button5"
value=
"验证"
onclick=
"isTime()"
>(例如:12:00:00)
</div><br />
</div>
</form>
</body>
</html>
js计算时间差
创建Date变量:
求时间差:
var date1=new Date();
alert("aa");
var date2=new Date(); //结束时间
var date3=date2.getTime()-date1.getTime() //时间差的毫秒数
//计算出相差天数
var days=Math.floor(date3/(24*3600*1000))
//计算出小时数
var leave1=date3%(24*3600*1000) //计算天数后剩余的毫秒数
var hours=Math.floor(leave1/(3600*1000))
//计算相差分钟数
var leave2=leave1%(3600*1000) //计算小时数后剩余的毫秒数
var minutes=Math.floor(leave2/(60*1000))
//计算相差秒数
var leave3=leave2%(60*1000) //计算分钟数后剩余的毫秒数
var seconds=Math.round(leave3/1000)
alert(" 相差 "+days+"天 "+hours+"小时 "+minutes+" 分钟"+seconds+" 秒")
1 短时间,形如 (13:04:06)
function isTime(str)
{
var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
if (a == null) {alert('输入的参数不是时间格式'); return false;}
if (a[1]>24 || a[3]>60 || a[4]>60)
{
alert("时间格式不对");
return false
}
return true;
}
2. 短日期,形如 (2008-07-22)
function strDateTime(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)return false;
var d= new Date(r[1], r[3]-1, r[4]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
3 长时间,形如 (2008-07-22 13:04:06)
function strDateTime(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
function isTime(str)
{
var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
if (a == null) {alert('输入的参数不是时间格式'); return false;}
if (a[1]>24 || a[3]>60 || a[4]>60)
{
alert("时间格式不对");
return false
}
return true;
}
2. 短日期,形如 (2008-07-22)
function strDateTime(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)return false;
var d= new Date(r[1], r[3]-1, r[4]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
3 长时间,形如 (2008-07-22 13:04:06)
function strDateTime(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
var s="下午 11:59" //s可以等于任何合理的时间 re=/^(上午|下午)\s(0[0-9]|1[01])\:[0-5][0-9]$/ //这个是正则表达式 if(re.test(s))alert('正常');else{alert('非法')} 以上虑到时间格式,如11:60这是个非法的格式
如果是24小时制的(23:59的格式):re = /^([01][0-9]|2[0-3])\:[0-5][0-9]$/ 如果还带秒数的(23:59:59的格式):re = /^([01][0-9]|2[0-3])\:[0-5][0-9]\:[0-5][0-9]$/ 如果前后有空格的也要匹配的:re = /^\s*([01][0-9]|2[0-3])\:[0-5][0-9]\:[0-5][0-9]\s*$/ 如果24小时制的,要秒数不要秒数都可以的,并且前后还可以加空格的: re = /^\s*([01][0-9]|2[0-3])\:[0-5][0-9](\:[0-5][0-9]){0,1}\s*$/ 或者: re = /^\s*([01][0-9]|2[0-3])\:[0-5][0-9](\:[0-5][0-9])?\s*$/