function isTime(str){
//yyyyMMddHHmmss
//0001 01 01 00 00 00
//00010101000000
var validate = /^((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229))([0-1]?[0-9]|2[0-3])([0-5][0-9])([0-5][0-9])$/;
var reg = new RegExp(validate);
if(str == null || str == undefined || str == '')
return false;
if(!reg.test(str))
return false;
return true;
}
function yyyy(str){
if(str == null || str == undefined || str == '')
return false;
if(str.length != 4)
return false;
var target = str + "0101000000"
return isTime(target);
}
function yyyyMM(str){
if(str == null || str == undefined || str == '')
return false;
if(str.length != 6 )
return false;
var target = str + "01000000"
return isTime(target);
}
function yyyyMMdd(str){
if(str == null || str == undefined || str == '')
return false;
if(str.length != 8)
return false;
var target = str + "000000"
return isTime(target);
}
function yyyyMMddHHmmss(str){
//yyyyMMdd HH:mm:ss
if(str == null || str == undefined || str == '')
return false;
if(str.length !=14 )
return false;
return isTime(str);
}
function test(){
if(timeFormat == 'yyyy'){
//yyyy
if(!yyyy(defaultvalue)){
validateMsg += '参数值格式错误<br/>';
flag = false;
}
}else if(timeFormat == 'yyyyMM'){
//yyyyMM
if(!yyyyMM(defaultvalue)){
validateMsg += '参数值格式错误<br/>';
flag = false;
}
}else if(timeFormat == 'yyyyMMdd'){
//yyyyMMdd
if(!yyyyMMdd(defaultvalue)){
validateMsg += '参数值格式错误<br/>';
flag = false;
}
}else if(timeFormat == 'yyyyMMdd HH:mm:ss'){
//yyyyMMdd HH:mm:ss
try {
var day = defaultvalue.split(" ")[0];
var tmp = defaultvalue.split(" ")[1].split(":");
}
catch(err){
$.alert('温馨提示','参数值格式错误');
}
if(tmp.length !=3){
validateMsg += '参数值格式错误<br/>';
flag = false;
}else{
for (var i=0; i<tmp.length; i++){
day += tmp[i];
}
if(!yyyyMMddHHmmss(day)){
validateMsg += '参数值格式错误<br/>';
flag = false;
}
}
}else if(timeFormat == 'yyyy-MM'){
//yyyy-MM
try {
var tmp = defaultvalue.split('-')[0] + defaultvalue.split('-')[1];
}
catch(err){
$.alert('温馨提示','参数值格式错误');
}
if(!yyyyMM(tmp)){
validateMsg += '参数值格式错误<br/>';
flag = false;
}
}else if(timeFormat == 'yyyy-MM-dd'){
//yyyy-MM-dd
try {
var tmp = defaultvalue.split('-')[0] + defaultvalue.split('-')[1] + defaultvalue.split('-')[2];
}
catch(err){
$.alert('温馨提示','参数值格式错误');
}
if(!yyyyMMdd(tmp)){
validateMsg += '参数值格式错误<br/>';
flag = false;
}
}else if(timeFormat == 'yyyy-MM-dd HH:mm:ss'){
//yyyy-MM-dd HH:mm:ss
try {
var days = defaultvalue.split(' ')[0].split('-');
var tmp = defaultvalue.split(' ')[1].split(':');
}
catch(err){
$.alert('温馨提示','参数值格式错误');
}
var day = '';
if(days.length !=3 || tmp.length !=3){
validateMsg += '参数值格式错误<br/>';
flag = false;
}else{
for (var i=0; i<days.length; i++){
day += days[i];
}
for (var i=0; i<tmp.length; i++){
day += tmp[i];
}
if(!yyyyMMddHHmmss(day)){
validateMsg += '参数值格式错误<br/>';
flag = false;
}
}
}
}
}
JS实现年月日时分秒的校验
最新推荐文章于 2023-03-20 19:18:28 发布