详解js正则表达式验证时间格式xxxx-xx-xx形式

在项目中,我们经常会遇到时间问题,有时候是使用时间插件,让用户选择,但有时应客户要求,能够自行输入时间,那么,我们如何来确定用户输入的时间格式是否正确,输入的时间是否合法呢?

这个时候需要用到正则表达式,接下来,简单讲解我的验证实例,以验证时间格式2017-01-01格式为例:

1.首先,我们需要获得用户输入的内容

2.其次,我们需要验证用户输入的内容是否为2017-01-01格式;

3.然后,验证格式正确后,需要验证输入的时间是否合法;

4.如果用户输入的是正确的,合法的时间格式,那么返回输入框中的内容,否则提示用户重新输入。

以下给出具体验证过程,可供参考:

1.获取用户输入的时间:

rush:js;"> var bagin = $('.input_one').val();

2.验证时间格式是否正确:(验证通过返回时间戳格式,例如:(2017-01-01,2017,-,01,01),否则返回null)

rush:js;"> var bagin_r = bagin.match(/^(\d{4})(-)(\d{2})(-)(\d{2})$/);

if(bagin_r==null){
alert("请输入正确的开始时间格式,如:2017-01-01");
return false;
}

3.验证时间是否合法:(注意:此段必须放置在验证时间格式完成之后)

rush:js;"> var b_d=new Date(bagin_r[1],bagin_r[3]-1,bagin_r[5]); var b_num = (b_d.getFullYear()==bagin_r[1]&&(b_d.getMonth()+1)==bagin_r[3]&&b_d.getDate()==bagin_r[5]);

if(b_num==0){
alert("开始时间不合法,请输入正确的开始时间");
return false;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...