这个规范就是正则表达式,一、时间格式验证
分类:巴黎人-数据库

一、时间格式验证

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 = @"^ddd$";

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 = @"^(?0d{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}"")));

图片 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]dd|d?d)(?(.?d).)){4}))(:[a-zA-Z0-9]+)?(/[a-zA-Z0-9-._?,'/\+&%$#=~]*)?$");
图片 92            return reg.IsMatch(uri);
图片 93        }

       /// <summary>
        /// 验证字符串是否为正整数
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static bool IsNumeric(string str)
        {
            System.Text.RegularExpressions.Regex reg1 = new System.Text.RegularExpressions.Regex(@"^[0-9]*[1-9][0-9]*$");
            return reg1.IsMatch(str);
        }
        /// <summary>
        /// 验证字符串是否为0或正浮点类型
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static bool isDouble(String str)
        {
            System.Text.RegularExpressions.Regex reg1 = new System.Text.RegularExpressions.Regex(@"^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))|(00)|(0)|((0)+.[0])|((0)+.[00])$");
            return reg1.IsMatch(str);

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


        }
        /// <summary>
        /// 验证固定电话号码
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static bool isTel(String str)
        {
            System.Text.RegularExpressions.Regex reg1 = new System.Text.RegularExpressions.Regex(@"^(d{3,4}-)?d{7,8}$");
            return reg1.IsMatch(str);

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

        }
        /// <summary>
        /// 验证手机号码
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static bool isMobile(String str)
        {
            System.Text.RegularExpressions.Regex reg1 = new System.Text.RegularExpressions.Regex(@"^[1][3-8]d{9}$");
            return reg1.IsMatch(str);

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

        }
        /// <summary>
        /// 验证数字
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static bool isNumber(String str)
        {
            System.Text.RegularExpressions.Regex reg1 = new System.Text.RegularExpressions.Regex(@"^d+$");
            return reg1.IsMatch(str);

本文由巴黎人手机版发布于巴黎人-数据库,转载请注明出处:这个规范就是正则表达式,一、时间格式验证

上一篇:但是其作用不仅限于批处理巴黎人澳门官网,它 下一篇:没有了
猜你喜欢
热门排行
精彩图文