正则表明式验证时间格式与时光测算

一、时间格式验证,在后台.cs文件中使用正则表达式验证时间日期格式,一、时间格式验证,在后台.cs文件中使用正则表达式验证时间日期格式,这个规范就是正则表达式,就是用一串字符验证是符合一种规范,&lt,/param&gt

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

 在后台.cs文件中利用正则表明式验证时间日期格式,还须要其余格式只要求换正则表达式就可以。

1,引子

正则表达式的应用,能够经过简单的办法来得以达成强大的成效。就是用一串字符验证是适合一种标准,那些正式就是正则表明式。

二,正则表明式的历史

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

5,全体标识解释

表二.常用的元字符

代码

说明

^

匹配字符串的开始

$

匹配字符串的结束

.

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

\w

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

\s

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

\d

匹配数字

\b

匹配单词的开始或结束

\d{八}表示数字再次出现4回,假使是QQ号能够这么表示\d{伍,1二}
表二.常用的界定符

代码/语法

说明

*

重复零次或更多次

+

重复一次或更多次

?

重复零次或一次

{n}

重复n次

{n,}

重复n次或更多次

{n,m}

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

8,C#中对正则的应用

RegularExpression 组合体

采取RegExp规则类需引用System.Text.RegularExpressions文件

该名字空间中富含5个类和叁个概念

描述

Capture

包含一次匹配的结果

CaptureCollection

Captrue的序列

Group

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

Match

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

MatchCollection

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

Regex

编译后表达式的实例

   

Regex包涵的有个别静态的方法:

方法

描述

Escape

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

IsMatch

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

Match

返回Match的实例

Matchs

返回一系列Match的方法

Replace

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

Split

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

Unescape

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

示例

常用表明式

验证对象

验证表达式

数字字母下划线

 

手机号

 

电话号

 

电话或手机号

 

一,正则表明式验证手机号

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(“请输入1个三人数字”);

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,正则表明式推断开始字母是还是不是为八

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}\””)));


 使用DATEDIFF函数总括时间差,第三个参数datepart为地点图表中缩写,用于计算出结果时间的单位,结果类型为int类型,第四个参数为发端时间,须求是时刻格式,第五个参数是得了时间,要求是光阴格式。

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

图片 1图片 2/**//// <summary>
图片 3        ///
正则表明式剖断是或不是为数字
图片 4        /// </summary>
图片 5        /// <param name=”strNumber”></param>
图片 6        /// <returns></returns>
图片 7        public static bool IsNumber(string strNumber)
图片 8图片 9        图片 10{
图片 11            //^[-+]?[1-9]\d*\.?[0]*$
图片 12            Regex objNotNumberPattern = new Regex(“[^0-9.-]”);
图片 13            Regex objTwoDotPattern = new Regex(“[0-9]*[.][0-9]*[.][0-9]*”);
图片 14            Regex objTwoMinusPattern = new Regex(“[0-9]*[-][0-9]*[-][0-9]*”);
图片 15            String strValidRealPattern = “^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$”;
图片 16            String strValidIntegerPattern = “^([-]|[0-9])[0-9]*$”;
图片 17            Regex objNumberPattern = new Regex(“(” + strValidRealPattern + “)|(” + strValidIntegerPattern + “)”);
图片 18
图片 19            return !objNotNumberPattern.IsMatch(strNumber) &&
图片 20            !objTwoDotPattern.IsMatch(strNumber) &&
图片 21            !objTwoMinusPattern.IsMatch(strNumber) &&
图片 22            objNumberPattern.IsMatch(strNumber);
图片 23        }
图片 24
图片 25图片 26        /**//// <summary>
图片 27        ///
正则表明式判定是还是不是为日期
图片 28        /// 验证格式:
图片 29        /// YYYY-MM
图片 30        /// YYYY-MM(M)-DD(M)
图片 31        /// YYYYMMDD       
图片 32        /// </summary>
图片 33        /// <param name=”date”></param>
图片 34        /// <returns></returns>
图片 35        public static bool IsDate(string date)
图片 36图片 37        图片 38{
图片 39            //(([0-9]{4}-)([0-9]{1,2}-)[0-9]{1,2})
图片 40            Regex ymPattern = new Regex(@”^\d{4}-?(?:0[1-9]|1[0-2])$”);
图片 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]))))))”); //日期部分
图片 42            
图片 43            return !ymPattern.IsMatch(date) &&
图片 44                yyyyMMdd.IsMatch(date);
图片 45        }
图片 46
图片 47图片 48        /**//// <summary>
图片 49        ///
正则表明式剖断是不是为日期
图片 50        /// 验证格式:     
图片 51        /// YYYY-MM(M)-DD(M) HH:MM
图片 52        /// YYYYMMDD HH:MM
图片 53        /// </summary>
图片 54        /// <param name=”date”></param>
图片 55        /// <returns></returns>
图片 56        public static bool IsDateTime(string date)
图片 57图片 58        图片 59{
图片 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]))))))”; //日期部分
图片 61            regex += @”(\s(((0?[0-9])|([1-2][0-3]))\:([0-5]?[0-9])((\s)|(\:([0-5]?[0-9])))))?$”; //时间部分
图片 62            System.Text.RegularExpressions.RegexOptions options = ((System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace | System.Text.RegularExpressions.RegexOptions.Multiline) | System.Text.RegularExpressions.RegexOptions.IgnoreCase);
图片 63            System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(regex, options);
图片 64
图片 65            return reg.IsMatch(date);
图片 66        }
图片 67
图片 68        public static bool IsEmail(string mail)
图片 69图片 70        图片 71{
图片 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})(\]?)$”);
图片 73
图片 74            return reg.IsMatch(mail);
图片 75        }
图片 76
图片 77图片 78        /**//// <summary>
图片 79        ///
正则表明式是不是为网站,验证格式:
图片 80        /// wwww.xxx.xxx
图片 81        /// xxx.xxx.xxx
图片 82        /// 
图片 83        /// 
图片 84        /// </summary>
图片 85        /// <param name=”uri”></param>
图片 86        /// <returns></returns>
图片 87        public static bool IsUri(string uri)
图片 88图片 89        图片 90{
图片 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\-\._\?\,\’/\\\+&%\$#\=~]*)?$”);
图片 92            return reg.IsMatch(uri);
图片 93        }

例:

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

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

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