身份证,时间,日期,邮箱格式的验证代码

本文介绍了一种使用JavaScript进行正则表达式验证的方法,包括邮箱、IP地址、身份证号码、日期和时间等格式的验证。此外,还提供了一个计算时间差的实用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns= "http://www.w3.org/1999/xhtml" >
<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" >&nbsp;&nbsp;
<input type= "submit" name= "button1" value= "验证"  onclick= "isMail()" />
</div>
<br />
<div>IP地址的验证:
 
   <input type= "text" name= "ip" id= "ip" >&nbsp;&nbsp;
<input type= "submit" name= "button2" value= "验证" onclick= "isIP()" >
</div><br />
<div>身份证号的验证:
<input type= "text" name= "shenfen" id= "shenfen" >&nbsp;&nbsp;
<input type= "submit" name= "button3" value= "验证" onclick= "isShenFen()" >
</div><br />
<div>日期的验证:
<input type= "text" name= "date" id= "date" >&nbsp;&nbsp;
<input type= "submit" name= "button4" value= "验证" onclick= "isDate()" >(例如:1990-01-01)
</div><br />
<div>时间的验证:
<input type= "text" name= "time" id= "time" >&nbsp;&nbsp;
<input type= "submit" name= "button5" value= "验证" onclick= "isTime()" >(例如:12:00:00)
</div><br />
</div>
</form>
</body>
</html>

js计算时间差  

创建Date变量:

    var s = "2009-06-22 14:22:53";
    var dt = Date.parse(s.replace(/-/g,"/"));
    var a = new Date(dt);
 

求时间差:

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]);
}

JS判断时间格式

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*$/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值