js正则判断日期
//****************************************************************************
// Function ID : Common_ChkDate
// I/O : (I) datestr 日期对象
// RETURN VALUE : true/false
// DESCRIPTION : onBlur,判断输入的日期是否合法
//****************************************************************************
function Common_ChkDate(datestr) {
// 正規表現 判断日期格式是否是"yyyy/MM/dd"
if (!datestr.match(/^\d{4}\/\d{1,2}\/\d{1,2}$/)) {
return false;
}
//判断月和日是否是两位,如果是1位,就在前面加“0”
if (datestr.length < 10) {
var l_splitDate = datestr.trim().split('/')
for (i = 0; i < l_splitDate.length; i++) {
if (l_splitDate[i].length == 1) {
l_splitDate[i] = "0" + l_splitDate[i]
}
}
l_splitDate = l_splitDate[0] + '/' + l_splitDate[1] + '/' + l_splitDate[2]
datestr = l_splitDate
}
// 将日期转换为数值类型
var iYear = datestr.substr(0, 4) - 0;
var iMonth = datestr.substr(5, 2) - 0;
var iDay = datestr.substr(8, 2) - 0;
//有効年范围1753~9999
if ((Number(iYear) > 9999) || (Number(iYear) < 1753)) {
return false;
}
// 月份正常时31天
if ((iMonth >= 1) && (iMonth <= 12)) {
var iMaxDay = 31;
// 判断哪几个月份是30天
switch (iMonth) {
case 4:
case 6:
case 9:
case 11:
iMaxDay = 30;
break;
case 2:
// 能被4整除的闰年
if ((iYear % 4) == 0) {
// 也能被 100 整除是闰年
if ((iYear % 100) == 0) {
// 也能被 400 整除 是闰年
if ((iYear % 400) == 0) {
iMaxDay = 29;
} else {
iMaxDay = 28;
}
} else {
// 能被4 整除 不能被 100 整除闰年
iMaxDay = 29;
}
} else {
// 不能被 4 整除的是
iMaxDay = 28;
}
break;
default:
break;
}
//天的取值范围
if ((iDay >= 1) && (iDay <= iMaxDay)) {
return true;
}
}
return false;
}
js正则判断日期的更多相关文章
- js正则格式化日期时间自动补0
原文 js正则格式化日期时间自动补0 背景 时间日期格式化的需求很常见,也有很多工具类转换方法,比如需要将2022-3-4这种日期格式转化为2022-03-04,也就是实现个位数月份或天数日期自动前置 ...
- 用js正则判断输入的两位字符,第一位是数字16进制的,第二位是I、O、Q、U除外的字母(A到Z)
项目中遇到客户的需求变化,要验证某个数据的正确性,判断输入的两位字符,第一位是数字16进制的,第二位是I.O.Q.U除外的字母(A到Z). 本来对js不熟练,网上参考了一下js正则验证的规则,使用正则 ...
- js正则判断电话/手机/邮箱/
用途:校验ip地址的格式 输入:strIP:ip地址返回:如果通过验证返回true,否则返回false:*/ function isIP(strIP) { if (isNull(strIP)) ret ...
- js 正则判断字符串下划线的长度
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js正则判断实现18位数字
js实现18位数字 var stuCardReg = /^[0-9]{18}/; var stuCard = $('.inp).val();//获取input框中的数值 if (!stuCardReg ...
- JS正则判断输入框是否仅仅含有汉字、字母和数字
代码如下: if($.trim($("#user_api_register_form").find("input[name='user_name']").val ...
- js正则判断字符串中是否包含特殊字符和空格
字符串只能是数字.字母和中文组成,不能包含特殊符号和空格. /^[\u4e00-\u9fa5_a-zA-Z0-9]+$/
- 如何用js检测判断时间日期的间距
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- js正则表单验证汇总,邮箱验证,日期验证,电话号码验证,url验证,信用卡验证,qq验证
本文主要汇总各种正则验证,很多都是转载,本人也会尽可能验证准确性,如有错误欢迎留言 //trim()方法在有些浏览器中不兼容,最好自己重写一下 String.prototype.trim=functi ...
随机推荐
- mvp需要加上单利模式
最大的中介者,需要设置成单利模式
- flex buider 4.6 打开设计模式(designer)时提示内存不足错误的解决办法
先申明,此方法只适用于flex builder 4.6及以下版本, flex builder 4.7以后已经完全取消了designer功能,是没有办法补救的. 1. 首先下载APE文件,这个文件好像是 ...
- GIT远程仓库的使用
查看当前项目有哪些远程仓库 $ git remote bixiaopeng@bixiaopengtekiMacBook-Pro wirelessqa$ git remote origin 查看远程仓库 ...
- JavaScript 闭包初认识
1.简单的例子 首先从一个经典错误谈起,页面上有若干个div, 我们想给它们绑定一个onclick方法,于是有了下面的代码 <ul id="divTest"> < ...
- (转载)C#获取当前应用程序所在路径及环境变量
一.获取当前文件的路径 string str1=Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名. string st ...
- c# 文件名排序
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.C ...
- java程序: 从kernel.ubuntu.com下载kernel - HttpURLConnection
用java实现从kernel.ubuntu.com下载内核的小工具 现在的最新的LTS版本是4.19,目前已经更新到4.19.13了. Kernel的更新通知里,经常有下面的陈述: 作为一个听劝的人, ...
- typeScript入门(二)函数与类
3.ts的函数 1)函数的返回值和参数 在函数的定义需要定义其的返回值可以void,来表示没有返回值 函数参数的定义,举个例子分析下吧 name:string,age?:number=23 冒号后面是 ...
- ES6新增的math,Number方法
ES6新增的math,Number方法,下面总结了一些我觉得有用的 Nunber.isInteger()判断是否为整数,需要注意的是1,和1.0都会被认为是整数 console.log(Number. ...
- Javascript 自定义输出
缘由 前段时间再看了一些javascript的学习资料,也写的一些demo,在输出的时候一般都用alert,但这个方法会打断函数运行,用起来不是很好.还有就是console.log这个方法,这种方法原 ...