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

例:

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

1,引子

正则表明式的利用,能够透过轻巧的秘籍来促成壮大的效应。就是用1串字符验证是相符一种标准,那些标准正是正则表达式。

二,正则表明式的历史

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

5,全体标识解释

表二.常用的元字符

代码

说明

^

匹配字符串的开始

$

匹配字符串的结束

.

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

\w

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

\s

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

\d

匹配数字

\b

匹配单词的开始或结束

\d{捌}表示数字又一次出现7遍,假若是QQ号能够这么表示\d{伍,12}
表二.常用的界定符

代码/语法

说明

*

重复零次或更多次

+

重复一次或更多次

?

重复零次或一次

{n}

重复n次

{n,}

重复n次或更多次

{n,m}

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

8,C#中对正则的应用

RegularExpression 组合体

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

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

描述

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

壹,判断是还是不是协作

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(“请输入二个2位数字”);

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();

}

}

}

}

 

 

二,正则表明式剖断开始字母是还是不是为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}\””)));

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

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

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


select DATEDIFF(MI,’201陆-0八-20 壹3:一三:20′,’二零一六-0捌-20 一伍:1四:20′)  
–查询出七个日子距离多少秒钟(1二壹)

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

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

1、时间格式验证

发表评论

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

CopyRight © 2015-2020 金沙中心城 All Rights Reserved.
网站地图xml地图