一、时间格式验证

var usersEmail=document.getElementById(“usersEmail”).value;

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

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

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

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

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

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

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

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

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

var bagin = $('.input_one').val();

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

var bagin_r = bagin.match(/^(\d{4})(-)(\d{2})(-)(\d{2})$/);

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

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

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;
 }

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

在项目中,我们经常会遇到时间问题,有时候是使用时间插件,让用户选择,但有时应客户要…

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

 在后台.cs文件中使用正则表达式验证时间日期格式,还需要其他格式只需要换正则表达式即可。

var Expression =
/^[_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;//正则表达式检测邮箱

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

验证年月日时分秒的正则表达式,格式yyyy-MM-dd HH:mm:ss   
    ([0-9]{4})-([0-9]{2})-([0-9]{2})
([0-9]{2}):([0-9]{2}):([0-9]{2})

 var objExp = new RegExp(Expression);

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

验证小时分钟的正则表达式,格式  
HH:mm    ^(([0-1]\\d)|(2[0-4])):[0-5]\\d$

if(objExp.test(usersEmail) == true)

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

System.Text.RegularExpressions.Regex reg = new
System.Text.RegularExpressions.Regex(“^(([0-1]\\d)|(2[0-4])):[0-5]\\d$”);

 

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

bool flag = reg.IsMatch(“时间字段”);

 

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

if (!flags)

今天刚学的正则表达式

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

{throw new Exception(“时间格式错误”)}

用法

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

 二、计算时间

import java.util.regex.Matcher;

var bagin = $('.input_one').val();
datepart 缩写
yy, yyyy
季度 qq, q
mm, m
年中的日 dy, y
dd, d
wk, ww
星期 dw, w
小时 hh
分钟 mi, n
ss, s
毫秒 ms
微妙 mcs
纳秒 ns

import java.util.regex.Pattern;

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

 使用DATEDIFF函数计算时间差,第一个参数datepart为上面图表中缩写,用于计算出结果时间的单位,结果类型为int类型,第二个参数为起始时间,要求是时间格式,第三个参数是结束时间,要求是时间格式。

Pattern p=Pattern.compile(“a”);//规则   

var bagin_r = bagin.match(/^(\d{4})(-)(\d{2})(-)(\d{2})$/);

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

例:

Matcher m=p.matcher(“a”);//要比较的字符串   

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

select DATEDIFF(MI,’2016-08-20 13:13:20′,’2016-08-20 15:14:20′)  
–查询出两个时间相差多少分钟(121)

System.err.println(“比较结果:”+ (m.matches()?”匹配”:”不匹配”));

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;
 }

select    121 / 60 ,121-(121 / 60*60)  –得出分钟则可计算小时

^a 表示要以a开头

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

 

b$表示要以b结束

[0-9]表示字符要在0-9范围内 [a-z][A-Z]同理

[0-9a-zA-Z]字符可在0-9 a-z A-Z内

[^0-9]字符不在0-9范围内 即取反 [^a-z][^A-Z]同理

a{1,5}可有1-5个字符‘a’

a{1,}可有1-N个字符‘a’ 和 a+ 同效果

. (任意字符)

a* 可有N个a N>=0

a? 可有0或一个a

 

 

 

 

 


发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图