正则表明式,正则表明式验证时间格式与时间总括

一、时间格式验证

1,引子

正则表明式的施用,能够经过轻松的点子来贯彻庞大的机能。便是用一串字符验证是符合一种规范,那么些正式就是正则表达式。

2,正则表明式的历史

RegExp 是正则表明式的缩写
正则表明式的率先个实用应用程序便是Unix 中的 ged 编辑器。

5,全体标识解释

表2.常用的元字符

代码

说明

^

匹配字符串的开始

$

匹配字符串的结束

.

匹配除换行符以外的所有字符

\w

匹配字母或数字或下划线或汉字

\s

匹配任意的空白符(空格)

\d

匹配数字

\b

匹配单词的开始或结束

\d{8}表示数字再一次出现8次,假设是QQ号能够这么表示\d{5,12}
表2.常用的限制符

代码/语法

说明

*

重复零次或更多次

+

重复一次或更多次

?

重复零次或一次

{n}

重复n次

{n,}

重复n次或更多次

{n,m}

重复n到m次,n不能大于m

8,C#中对正则的选用

RegularExpression 组合体

动用RegExp准绳类需援用System.Text.RegularExpressions文件

该名字空间中包蕴6个类和一个概念

描述

Capture

包含一次匹配的结果

CaptureCollection

Captrue的序列

Group

一次组记录的结果,由Capture继承而来

Match

一次表达式的匹配结果,由Group继承而来

MatchCollection

执行替换操作时使用的代理

Regex

编译后表达式的实例

   

Regex满含的部分静态的方式:

方法

描述

Escape

对字符串中的regex中的转义符进行转义

IsMatch

判断是否匹配字符串,返回一上布尔值

Match

返回Match的实例

Matchs

返回一系列Match的方法

Replace

用替换字符串替换匹配的表达式

Split

返回一系列由表达式决定的字符串

Unescape

不对字符串中的转义字符进行转义

示例

常用表明式

验证对象

验证表达式

数字字母下划线

 

手机号

 

电话号

 

电话或手机号

 

1,正则表明式验证手提式有线电话机号

Regex reg=new
Regex(@”^(12[0-9]|186|188|150|151|158|159|147)\d{8}$”);

1,判别是或不是合作

using System;

using
System.Collections.Generic;

using System.Linq;

using System.Text;

using
System.Text.RegularExpressions;

 

namespace
ConsoleApplication1

{

class Program

{

static void
Main(string[] args)

{

while (true)

{

Console.WriteLine(“请输入三个三人数字”);

string regstr =
@”^\d\d\d$”;

Regex reg = new
Regex(regstr);

string intputstr =
Console.ReadLine();

if
(reg.IsMatch(intputstr))

{

Console.WriteLine(“正确”);

}

else

{

Console.WriteLine(“错误”);

}

Console.ReadKey();

}

}

}

}

 

 

2,正则表达式判别开端字母是还是不是为8

if (dt != null &&
dt.Rows.Count > 0)

{

string a =
dt.Rows[0][0].ToString();

string regstr =
@”^8…….$”;

Regex reg = new
Regex(regstr);

if (reg.IsMatch(a))

{

flag = true;

}

else { flag = false; }

}

 

 

例3:

string regstr =
@”^\(?0\d{2}[) -]?\d{8}$”;

Regex reg = new
Regex(regstr);

string intputstr =
“010-22222222”;

if
(reg.IsMatch(intputstr))

{

Console.WriteLine(“正确”);

}

else

{

Console.WriteLine(“错误”);

}

 

例4:MatchEvaluator

return
_JsonDateReg.Replace(jsonStr,new
System.Text.RegularExpressions.MatchEvaluator(obj=>string.Format(“:\”{0:yyyy-MM-dd
HH:mm:ss}\””)));

997755.com澳门葡京 1997755.com澳门葡京 2/**//// <summary>
997755.com澳门葡京 3        ///
正则表明式剖断是不是为数字
997755.com澳门葡京 4        /// </summary>
997755.com澳门葡京 5        /// <param name=”strNumber”></param>
997755.com澳门葡京 6        /// <returns></returns>
997755.com澳门葡京 7        public static bool IsNumber(string strNumber)
997755.com澳门葡京 8997755.com澳门葡京 9        997755.com澳门葡京 10{
997755.com澳门葡京 11            //^[-+]正则表明式,正则表明式验证时间格式与时间总括。?[1-9]\d*\.?[0]*$
997755.com澳门葡京 12            Regex objNotNumberPattern = new Regex(“[^0-9.-]”);
997755.com澳门葡京 13            Regex objTwoDotPattern = new Regex(“[0-9]*[.][0-9]*[.][0-9]*”);
997755.com澳门葡京 14            Regex objTwoMinusPattern = new Regex(“[0-9]*[-][0-9]*[-][0-9]*”);
997755.com澳门葡京 15            String strValidRealPattern = “^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$”;
997755.com澳门葡京 16            String strValidIntegerPattern = “^([-]|[0-9])[0-9]*$”;
997755.com澳门葡京 17            Regex objNumberPattern = new Regex(“(” + strValidRealPattern + “)|(” + strValidIntegerPattern + “)”);
997755.com澳门葡京 18
997755.com澳门葡京 19            return !objNotNumberPattern.IsMatch(strNumber) &&
997755.com澳门葡京 20            !objTwoDotPattern.IsMatch(strNumber) &&
997755.com澳门葡京 21            !objTwoMinusPattern.IsMatch(strNumber) &&
997755.com澳门葡京 22            objNumberPattern.IsMatch(strNumber);
997755.com澳门葡京 23        }
997755.com澳门葡京 24
997755.com澳门葡京 25997755.com澳门葡京 26        /**//// <summary>
997755.com澳门葡京 27        ///
正则表明式判别是不是为日期
997755.com澳门葡京 28        /// 验证格式:
997755.com澳门葡京 29        /// YYYY-MM
997755.com澳门葡京 30        /// YYYY-MM(M)-DD(M)
997755.com澳门葡京 31        /// YYYYMMDD       
997755.com澳门葡京 32        /// </summary>
997755.com澳门葡京 33        /// <param name=”date”></param>
997755.com澳门葡京 34        /// <returns></returns>
997755.com澳门葡京 35        public static bool IsDate(string date)
997755.com澳门葡京 36997755.com澳门葡京 37        997755.com澳门葡京 38{
997755.com澳门葡京 39            //(([0-9]{4}-)([0-9]{1,2}-)[0-9]{1,2})
997755.com澳门葡京 40            Regex ymPattern = new Regex(@”^\d{4}-?(?:0[1-9]|1[0-2])$”);
997755.com澳门葡京 41            Regex yyyyMMdd = new Regex(@”^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))”); //日期部分
997755.com澳门葡京 42            
997755.com澳门葡京 43            return !ymPattern.IsMatch(date) &&
997755.com澳门葡京 44                yyyyMMdd.IsMatch(date);
997755.com澳门葡京 45        }
997755.com澳门葡京 46
997755.com澳门葡京 47997755.com澳门葡京 48        /**//// <summary>
997755.com澳门葡京 49        ///
正则表明式推断是不是为日期
997755.com澳门葡京 50        /// 验证格式:     
997755.com澳门葡京 51        /// YYYY-MM(M)-DD(M) HH:MM
997755.com澳门葡京 52        /// YYYYMMDD HH:MM
997755.com澳门葡京 53        /// </summary>
997755.com澳门葡京 54        /// <param name=”date”></param>
997755.com澳门葡京 55        /// <returns></returns>
997755.com澳门葡京 56        public static bool IsDateTime(string date)
997755.com澳门葡京 57997755.com澳门葡京 58        997755.com澳门葡京 59{
997755.com澳门葡京 60            string regex = @”^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))”; //日期部分
997755.com澳门葡京 61            regex += @”(\s(((0?[0-9])|([1-2][0-3]))\:([0-5]?[0-9])((\s)|(\:([0-5]?[0-9])))))?$”; //时间部分
997755.com澳门葡京 62            System.Text.RegularExpressions.RegexOptions options = ((System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace | System.Text.RegularExpressions.RegexOptions.Multiline) | System.Text.RegularExpressions.RegexOptions.IgnoreCase);
997755.com澳门葡京 63            System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(regex, options);
997755.com澳门葡京 64
997755.com澳门葡京 65            return reg.IsMatch(date);
997755.com澳门葡京 66        }
997755.com澳门葡京 67
997755.com澳门葡京 68        public static bool IsEmail(string mail)
997755.com澳门葡京 69997755.com澳门葡京 70        997755.com澳门葡京 71{
997755.com澳门葡京 72            Regex reg = new Regex(@”^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$”);
997755.com澳门葡京 73
997755.com澳门葡京 74            return reg.IsMatch(mail);
997755.com澳门葡京 75        }
997755.com澳门葡京 76
997755.com澳门葡京 77997755.com澳门葡京 78        /**//// <summary>
997755.com澳门葡京 79        ///
正则表达式是还是不是为网站,验证格式:
997755.com澳门葡京 80        /// wwww.xxx.xxx
997755.com澳门葡京 81        /// xxx.xxx.xxx
997755.com澳门葡京 82        /// 
997755.com澳门葡京 83        /// 
997755.com澳门葡京 84        /// </summary>
997755.com澳门葡京 85        /// <param name=”uri”></param>
997755.com澳门葡京 86        /// <returns></returns>
997755.com澳门葡京 87        public static bool IsUri(string uri)
997755.com澳门葡京 88997755.com澳门葡京 89        997755.com澳门葡京 90{
997755.com澳门葡京 91            Regex reg = new Regex(@”^(((ht|f)tp(s?))\://)?((([a-zA-Z0-9_\-]{2,}\.)+[a-zA-Z]{2,})|((?:(?:25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)(?(\.?\d)\.)){4}))(:[a-zA-Z0-9]+)?(/[a-zA-Z0-9\-\._\?\,\’/\\\+&%\$#\=~]*)?$”);
997755.com澳门葡京 92            return reg.IsMatch(uri);
997755.com澳门葡京 93        }

 在后台.cs文件中应用正则表达式验证时间日期格式,还亟需任何格式只须要换正则表达式就能够。


997755.com澳门葡京,说今年月日时分秒的正则表明式,格式yyyy-MM-dd HH:mm:ss   
    ([0-9]{4})-([0-9]{2})-([0-9]{2})
([0-9]{2}):([0-9]{2}):([0-9]{2})

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

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

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

if (!flags)

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

 二、总结时间

datepart 缩写
yy, yyyy
季度 qq, q
mm, m
年中的日 dy, y
dd, d
wk, ww
星期 dw, w
小时 hh
分钟 mi, n
ss, s
毫秒 ms
微妙 mcs
纳秒 ns

 使用DATEDIFF函数计算时间差,第贰个参数datepart为地点图表中缩写,用于计算出结果时间的单位,结果类型为int类型,第二个参数为初叶时间,供给是时间格式,第八个参数是甘休时间,供给是光阴格式。

例:

select DATEDIFF(MI,’二〇一六-08-20 13:13:20′,’二〇一四-08-20 15:14:20′)  
–查询出七个日子距离多少分钟(121)

select    121 / 60 ,121-(121 / 60*60)  –得出分钟则可总结时辰

 

相关文章

发表评论

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

*
*
Website