查抄日期格局的函数

 


在网上找到一个函数,但却不好用,请大家指教,谁有更好的检查日期格式的函数
格式如:yyyy-mm-dd
function CheckDate(pFMT,pDate)
{
var ResultOK = null

/*-- 日期格式:(四位)年份 + (至多两位)月份 + (至多两位)日期 --*/
/*-- 分割符号:"." --*/
var RegDateDot = /\d{4}\.{1}\d{1,2}\.{1}\d{1,2}/
/*-- 分割符号:"-" --*/
var RegDateLine = /\d{4}-{1}\d{1,2}-{1}\d{1,2}/

/*-- 用正则表达式判断格式 --*/
switch (pFMT)
{
case 1: //.
ResultOK = RegDateDot.test(pDate)
break
case 2: //-
ResultOK = RegDateLine.test(pDate)
break
default: //.
ResultOK = RegDateDot.test(pDate)
break
}

/*-- 处理并返回结果 --*/
if(ResultOK)
{
alert("非法日期:日期格式错误!")
return false
}

/*-- 检查月份和日期是否超过可能的最大值 --*/
var mYear = 0,mMonth = 0,mDay = 0
var iPos1 = 0,iPos2 = 0
var sDate = pDate.toString()
var mSepChar = ((pFMT == 1) ? ".":"-")

/*-- 各月的天数 --*/
var MonthDays=new Array(31,28,31,30,31,30,31,31,30,31,30,31)

/*-- 提取年月日的值 --*/
iPos1 = sDate.indexOf(mSepChar)
iPos2 = sDate.indexOf(mSepChar,iPos1+1)

mYear = sDate.substring(0,iPos1)
mMonth = sDate.substring(iPos1+1,iPos2)
mDay = sDate.substr(iPos2+1)

/*-- 判断年份 --*/
if(mYear <= 0 || mYear > 9999)
{
alert("非法日期:年份过小或者过大,超出限制 (1-9999)!")
return false
}

/*-- 判断月份 --*/
if(mMonth <= 0 || mMonth > 12)
{
alert("非法日期:没有这个月份!")
return false
}

/*-- 计算所在月的正确天数 --*/
var RightDay = 0
if(mMonth == 2)
RightDay = (((mYear%4 == 0) && (mYear%100 != 0) || (mYear%400 == 0))? 29: 28)
else
RightDay = MonthDays[mMonth]

/*-- 判断日 --*/
if(mDay <= 0 || mDay > RightDay)
{
alert("非法日期:该月没有这天!")
return false
}
<


可我用不 好用啊
是我调用错了吗
<form name="form1" method="post" action="">
  <input type="button" name="Submit" value="按钮" onClick="CheckDate(2,tex)">
  <input name="tex" type="text" id="tex">
</form>
这有错吗



写的很好啊...有什么漏洞吗?


当然有错

<input type="button" name="Submit" value="按钮" onClick="CheckDate(2,document.getElementById('tex').value)">






我也来回答


回答即可得2分,回答被采纳则获得悬赏分以及奖励20分。 匿名回答



查抄日期格局的函数 相关知识库

  • 06-14access中日期格局字符串转换格局问题
  • 06-02ACCESS中怎么将日期格局转换成文本格局
  • 07-26excel中设置日期自界说格局后 把原来的英文日期置为 2010-08-10今后,现实内容怎样随着改变?
  • 08-07给两个时候:肇端日期和终止日期,求一函数,把它的周数列出来
  • 08-07给两个时候:肇端日期和终止日期,求一函数,把它的周数列出来,要可以跨年跨月的。
  • 08-08给两个时候:肇端日期和终止日期,求一函数,把它的月数列出来,要可以跨年跨月的。
  • 06-02怎么把文本格局的日期时候转换为真实的日期时候格局?
  • 02-04这类格局的数字串怎么输出正规的日期时候格局?
  • 05-13用正则匹配字符串中的日期,然后格局化日期
  • 11-01一个日期加减的函数,20071104这个日期犯错,另外正常
  • 10-2409 27 2018 12:00AM 这类日期格局怎么转成PHP可认的时候格局
  • 09-08有把日期转为大写格局的函数吗?急用
  • 03-03日期时候格局转成我想要的格局应当怎么实现?
  • 04-06请问怎么查抄日期的正当输入
  • 06-24谁有判定php输入日期格局是不是准确的函数?
  • 11-15MYSQL获得当前时候的函数是?,格局化日期的函数是
  • 03-08日期正则问题,查抄不了2008-2-29
  • 03-23查抄日期格局的函数
  • 07-26如何经由过程函数的体例进行日期格局转换?
  • 07-25javascript 字符转为日期格局的函数?
  • 06-10怎么查抄表单输入的日期格局是准确的!感谢!
  • 07-07日期+时候的正当性查抄
  • 08-29shell查抄日期的准确性
  • 02-22ASP:日期作为参数传递,酿成字符串了,怎么再格局化成日期?
  • 12-25把格局yyyy-MM-dd HH:mm:ss转化成 yyyyMMddhhmmss格局的日期jsp
  • 03-12access让我愁闷!日期到底要用日期格局照样字符串格局?
  • 06-12取得当前日期,难吗?alter FUNCTION NvarcharToDateTime(@datetime nvarchar(200))字符串变日期的函数
  • 05-22就教-关于C#中日期的查抄
  • 06-21[希奇]一个JAVA日期查抄的问题
  • 08-25java 能不能找到一个方式格局化日期 改变传来的字符串(未知格局)
php知识库
 
php教程   php168   php100   phpnow   php源码   php mysql   php视频  php图片下载  php正则
绿色php资源
  • 网站开发
  • 数据库开发
  • 开发工具
  • Linux/unix
  • .Net技术
  • Java技术
  • 开发语言
  • Windows专区
Copyright © 2009-2012 phpzyphp资源 绿色php资源 版权所有
PHPZY Website Powered by DedeCMS For PHPZY
豫ICP备07013246号