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 ...
随机推荐
- PHP jQuery实现上传图片时预览图片的功能实例
在PHP项目开发中,有时候经常需要做添加图片的功能.添加图片时,一般需要即时预览上传的图片.下面这个例子就是简单的预览上传图片功能,代码如下(分两部分): 1.HTML代码: <div clas ...
- 白话SpringCloud | 第十章:路由网关(Zuul)进阶:过滤器、异常处理
前言 简单介绍了关于Zuul的一些简单使用以及一些路由规则的简单说明.而对于一个统一网关而言,需要处理各种各类的请求,对不同的url进行拦截,或者对调用服务的异常进行二次处理等等.今天,我们就来了解下 ...
- CheckBox 样式
.cb td { width: 100px; } .cb label { display: inline-block; ...
- DIV滚动样式
.divScroll{ OVERFLOW:auto; scrollbar-face-color: #FFFFFF; scrollbar-shadow-color: ...
- Observer(观察者)设计模式[转]
Observer设计模式中主要包括如下两类对象: Subject:监视对象,它往往包含着其他对象所感兴趣的内容.在本范例中,热水器就是一个监视对象,它包含的其他对象所感兴趣的内容,就是tempratu ...
- android device ID获取
Android Device ID是Android用户在Google认证过手机的设备唯一标识,当然国内很多Android手机没有经过Google认证,所以一般没有Google官方Android de ...
- Introduction of Servlet Filter(了解Servlet之Filter)
API文档中介绍了public Interface Filter(公共接口过滤器) Servlet API文档中是这样介绍的: ‘A filter is an object that performs ...
- python 之闭包
原文 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回. 我们来实现一个可变参数的求和.通常情况下,求和的函数是这样定义的: def calc_sum(*args): a ...
- 【代码笔记】XML深入学习:DTD约束与DTD语法(2)
DTD语法之定义实体(了解即可) 实体分为一般实体和参数实体. 定义实体:定义变量 引用实体:使用变量 一般实体:定义实体在DTD中,实体引用在xml中. 参数实体:定义实体在DTD中,实体引用在DT ...
- vim右键粘贴 等杂
putty连上linux,vim编辑个文件,我去,右键不能用用上下面的命令,就好了. set mouse-=a 今天发现mysql倒入utf-8的文件网站显示出来都是乱码,不过用utf-8的控制台看是 ...