js日期格式判断(2018/01/30) -方法 小时分秒格式判断((HH:MM)
生活随笔
收集整理的這篇文章主要介紹了
js日期格式判断(2018/01/30) -方法 小时分秒格式判断((HH:MM)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
案例如下:
//日期格式判斷
??????? function lo_isDatePart(dateStr) {
??????????? var parts;
??????????? if (dateStr.indexOf("/") > -1) {
??????????????? parts = dateStr.split('/');
??????????? } else {
??????????????? return false;
??????????? }
??????????? if (parts.length < 3) {
??????????????? //日期部分不允許缺少年、月、日中的任何一項(xiàng)
??????????????? return false;
??????????? }
??????????? for (i = 0; i < 3; i++) {
??????????????? //如果構(gòu)成日期的某個(gè)部分不是數(shù)字,則返回false
??????????????? if (isNaN(parts[i])) {
??????????????????? return false;
??????????????? }
??????????? }
??????????? y = parts[0]; //年
??????????? m = parts[1]; //月
??????????? d = parts[2]; //日
??????????? if (y > 3000) {
??????????????? return false;
??????????? }
??????????? var smonth="01,02,03,04,05,06,07,08,09,10,11,12";
??????????? if (smonth.indexOf(m) == -1) {
??????????????? return false;
??????????? }
??????????? var sday = "01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31";
??????????? if (sday.indexOf(d) == -1) {
??????????????? return false;
??????????? }
??????????? switch (d) {
??????????????? case 29:
??????????????????? if (m == "02") {
??????????????????????? //如果是2月份
??????????????????????? if ((y / 100) * 100 == y && (y / 400) * 400 != y&&(y/4)*4!=y) {
??????????????????????????? //如果年份能被100整除但不能被400整除 (即閏年)
??????????????????????? } else {
??????????????????????????? return false;
??????????????????????? }?
??????????????????? }
??????????????????? break;
??????????????? case 30:
??????????????????? if (m == "02") {
??????????????????????? //2月沒(méi)有30日
??????????????????????? return false;
??????????????????? }
??????????????????? break;
??????????????? case 31:
??????????????????? if (m == "02" || m == "04" || m == "06" || m == "09" || m == "11") {
??????????????????????? //2、4、6、9、11月沒(méi)有31日
??????????????????????? return false;
??????????????????? }
??????????????????? break;
??????????????? default:
??????????? }
??????????? return true;
??????? }
??????? /***********************************************************************
??????? * 判斷一個(gè)字符串是否為合法的時(shí)間格式:HH:MM
??????? */
??????? function lo_isTimePart(timeStr) {
??????????? var parts;
??????????? parts = timeStr.split(':');
??????????? if (parts.length < 1) {
??????????????? //日期部分不允許缺少小時(shí)、分鐘中的任何一項(xiàng)
??????????????? return false;
??????????? }
??????????? for (i = 0; i < parts.length; i++) {
??????????????? //如果構(gòu)成時(shí)間的某個(gè)部分不是數(shù)字,則返回false
??????????????? if (isNaN(parts[i])) {
??????????????????? return false;
??????????????? }
??????????? }
??????????? h = parts[0]; //小時(shí)
??????????? m = parts[1]; //分
??????????? if (h < 0 || h > 23) {
??????????????? //限制小時(shí)的范圍
??????????????? return false;
??????????? }
??????????? if (m < 0 || m > 59) {
??????????????? //限制分鐘的范圍
??????????????? return false;
??????????? }
??????????? return true;
??????? }
//日期格式判斷
??????? function lo_isDatePart(dateStr) {
??????????? var parts;
??????????? if (dateStr.indexOf("/") > -1) {
??????????????? parts = dateStr.split('/');
??????????? } else {
??????????????? return false;
??????????? }
??????????? if (parts.length < 3) {
??????????????? //日期部分不允許缺少年、月、日中的任何一項(xiàng)
??????????????? return false;
??????????? }
??????????? for (i = 0; i < 3; i++) {
??????????????? //如果構(gòu)成日期的某個(gè)部分不是數(shù)字,則返回false
??????????????? if (isNaN(parts[i])) {
??????????????????? return false;
??????????????? }
??????????? }
??????????? y = parts[0]; //年
??????????? m = parts[1]; //月
??????????? d = parts[2]; //日
??????????? if (y > 3000) {
??????????????? return false;
??????????? }
??????????? var smonth="01,02,03,04,05,06,07,08,09,10,11,12";
??????????? if (smonth.indexOf(m) == -1) {
??????????????? return false;
??????????? }
??????????? var sday = "01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31";
??????????? if (sday.indexOf(d) == -1) {
??????????????? return false;
??????????? }
??????????? switch (d) {
??????????????? case 29:
??????????????????? if (m == "02") {
??????????????????????? //如果是2月份
??????????????????????? if ((y / 100) * 100 == y && (y / 400) * 400 != y&&(y/4)*4!=y) {
??????????????????????????? //如果年份能被100整除但不能被400整除 (即閏年)
??????????????????????? } else {
??????????????????????????? return false;
??????????????????????? }?
??????????????????? }
??????????????????? break;
??????????????? case 30:
??????????????????? if (m == "02") {
??????????????????????? //2月沒(méi)有30日
??????????????????????? return false;
??????????????????? }
??????????????????? break;
??????????????? case 31:
??????????????????? if (m == "02" || m == "04" || m == "06" || m == "09" || m == "11") {
??????????????????????? //2、4、6、9、11月沒(méi)有31日
??????????????????????? return false;
??????????????????? }
??????????????????? break;
??????????????? default:
??????????? }
??????????? return true;
??????? }
??????? /***********************************************************************
??????? * 判斷一個(gè)字符串是否為合法的時(shí)間格式:HH:MM
??????? */
??????? function lo_isTimePart(timeStr) {
??????????? var parts;
??????????? parts = timeStr.split(':');
??????????? if (parts.length < 1) {
??????????????? //日期部分不允許缺少小時(shí)、分鐘中的任何一項(xiàng)
??????????????? return false;
??????????? }
??????????? for (i = 0; i < parts.length; i++) {
??????????????? //如果構(gòu)成時(shí)間的某個(gè)部分不是數(shù)字,則返回false
??????????????? if (isNaN(parts[i])) {
??????????????????? return false;
??????????????? }
??????????? }
??????????? h = parts[0]; //小時(shí)
??????????? m = parts[1]; //分
??????????? if (h < 0 || h > 23) {
??????????????? //限制小時(shí)的范圍
??????????????? return false;
??????????? }
??????????? if (m < 0 || m > 59) {
??????????????? //限制分鐘的范圍
??????????????? return false;
??????????? }
??????????? return true;
??????? }
總結(jié)
以上是生活随笔為你收集整理的js日期格式判断(2018/01/30) -方法 小时分秒格式判断((HH:MM)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: javascript中对变量类型的判断
- 下一篇: 区块链基础知识系列 第一课 区块链网络