`

C# 正则表达验证类

    博客分类:
  • .net
阅读更多

1 using System;  
  2 using System.Collections;  
  3 using System.Text.RegularExpressions;  
  4 
  5 namespace Xrinehart.Framework.Common.Validate  
  6 {  
  7     /**//// <summary>  
  8     /// RegularMatch 的摘要说明。  
  9     /// </summary>      
 10     public class RegularMatch  
 11     {  
 12         private string _String;  
 13         private bool _IsEntirety;  
 14 
 15         /**//// <summary>  
 16         /// 可以进行判断的类型  
 17         /// </summary>  
 18         public enum Operation  
 19         {  
 20             Byte, SByte, Int16, Int32, Int64, Single, Double, Boolean, Char, Decimal, DateTime, Date, Time,  
 21             EMail, URL, ChinaPhone, ChineseWord, ChinesePostalCode, Number, StringModel_01, StringModel_02, WideWord, NarrowWord, IPAddress,  
 22             ChineseMobile, ChineseID  
 23         };  
 24 
 25         public RegularMatch() { }  
 26 
 27         用于判断字符串是否是对应类型(默认为包含匹配)#region 用于判断字符串是否是对应类型(默认为包含匹配)  
 28         public bool IsAccordType(string strVerifyString, Operation op)  
 29         {  
 30             return IsAccordType(strVerifyString, op, false);  
 31         }  
 32         #endregion  
 33 
 34         用于判断字符串是否是对应类型(或是否包含对应类型的字符)#region 用于判断字符串是否是对应类型(或是否包含对应类型的字符)  
 35         /**//// <summary>  
 36         /// 用于判断字符串是否是对应类型  
 37         /// </summary>  
 38         /// <param name="strVerifyString">String,需要判断的字符串</param>  
 39         /// <param name="op">Operation枚举,用于选择需要进行的操作</param>  
 40         /// <param name="IsEntirety">Boolean,判断是完全匹配还是包含匹配模式(仅适用于非类型判断时)</param>  
 41         /// <returns></returns>  
 42         public bool IsAccordType(string strVerifyString, Operation op, bool IsEntirety)  
 43         {  
 44             _String = strVerifyString;  
 45             _IsEntirety = IsEntirety;  
 46 
 47             switch (op)  
 48             {  
 49                 case Operation.Byte:  
 50                     {  
 51                         return IsByte();  
 52                     }  
 53                 case Operation.SByte:  
 54                     {  
 55                         return IsSByte();  
 56                     }  
 57                 case Operation.Int16:  
 58                     {  
 59                         return IsInt16();  
 60                     }  
 61                 case Operation.Int32:  
 62                     {  
 63                         return IsInt32();  
 64                     }  
 65                 case Operation.Int64:  
 66                     {  
 67                         return IsInt64();  
 68                     }  
 69                 case Operation.Single:  
 70                     {  
 71                         return IsSingle();  
 72                     }  
 73                 case Operation.Double:  
 74                     {  
 75                         return IsDouble();  
 76                     }  
 77                 case Operation.Boolean:  
 78                     {  
 79                         return IsBoolean();  
 80                     }  
 81                 case Operation.Char:  
 82                     {  
 83                         return IsChar();  
 84                     }  
 85                 case Operation.Decimal:  
 86                     {  
 87                         return IsDecimal();  
 88                     }  
 89                 case Operation.DateTime:  
 90                     {  
 91                         return IsDateTime();  
 92                     }  
 93                 case Operation.Date:  
 94                     {  
 95                         return IsDate();  
 96                     }  
 97                 case Operation.Time:  
 98                     {  
 99                         return IsTime();  
100                     }  
101                 case Operation.IPAddress:  
102                     {  
103                         return IsIPAddress();  
104                     }  
105                 case Operation.ChinaPhone:  
106                     {  
107                         return IsChinaPhone();  
108                     }  
109                 case Operation.ChinesePostalCode:  
110                     {  
111                         return IsChinesePostalCode();  
112                     }  
113                 case Operation.ChineseMobile:  
114                     {  
115                         return IsChineseMobile();  
116                     }  
117                 case Operation.EMail:  
118                     {  
119                         return IsEmail();  
120                     }  
121                 case Operation.URL:  
122                     {  
123                         return IsURL();  
124                     }  
125                 case Operation.ChineseWord:  
126                     {  
127                         return IsChineseWord();  
128                     }  
129                 case Operation.Number:  
130                     {  
131                         return IsNumber();  
132                     }  
133                 case Operation.StringModel_01:  
134                     {  
135                         return IsStringModel_01();  
136                     }  
137                 case Operation.StringModel_02:  
138                     {  
139                         return IsStringModel_02();  
140                     }  
141                 case Operation.WideWord:  
142                     {  
143                         return IsWideWord();  
144                     }  
145                 case Operation.NarrowWord:  
146                     {  
147                         return IsNarrowWord();  
148                     }  
149                 case Operation.ChineseID:  
150                     {  
151                         return IsChineseID();  
152                     }  
153                 default:  
154                     {  
155                         return false;  
156                     }  
157             }  
158         }  
159         #endregion  
160 
161         具体验证方法#region 具体验证方法  
162 
163         是否Byte类型(8 位的无符号整数): 0 和 255 之间的无符号整数#region 是否Byte类型(8 位的无符号整数): 0 和 255 之间的无符号整数  
164         /**//// <summary>  
165         /// 是否Byte类型(8 位的无符号整数): 0 和 255 之间的无符号整数  
166         /// </summary>  
167         /// <returns>Boolean</returns>  
168         protected bool IsByte()  
169         {  
170             try  
171             {  
172                 Byte.Parse(_String);  
173             }  
174             catch  
175             {  
176                 return false;  
177             }  
178             return true;  
179         }  
180         #endregion  
181 
182         是否SByte类型(8 位的有符号整数): -128 到 +127 之间的整数#region 是否SByte类型(8 位的有符号整数): -128 到 +127 之间的整数  
183         /**//// <summary>  
184         /// 是否SByte类型(8 位的有符号整数): -128 到 +127 之间的整数  
185         /// </summary>  
186         /// <returns>Boolean</returns>  
187         protected bool IsSByte()  
188         {  
189             try  
190             {  
191                 SByte.Parse(_String);  
192             }  
193             catch  
194             {  
195                 return false;  
196             }  
197             return true;  
198         }  
199         #endregion  
200 
201         是否Int16类型(16 位的有符号整数): -32768 到 +32767 之间的有符号整数#region 是否Int16类型(16 位的有符号整数): -32768 到 +32767 之间的有符号整数  
202         /**//// <summary>  
203         /// 是否Int16类型(16 位的有符号整数): -32768 到 +32767 之间的有符号整数  
204         /// </summary>  
205         /// <returns>Boolean</returns>  
206         protected bool IsInt16()  
207         {  
208             try  
209             {  
210                 Int16.Parse(_String);  
211             }  
212             catch  
213             {  
214                 return false;  
215             }  
216             return true;  
217         }  
218         #endregion  
219 
220         是否Int32类型(32 位的有符号整数):-2,147,483,648 到 +2,147,483,647 之间的有符号整数#region 是否Int32类型(32 位的有符号整数):-2,147,483,648 到 +2,147,483,647 之间的有符号整数  
221         /**//// <summary>  
222         /// 是否Int32类型(32 位的有符号整数):-2,147,483,648 到 +2,147,483,647 之间的有符号整数  
223         /// </summary>  
224         /// <returns>Boolean</returns>  
225         protected bool IsInt32()  
226         {  
227             try  
228             {  
229                 Int32.Parse(_String);  
230             }  
231             catch  
232             {  
233                 return false;  
234             }  
235             return true;  
236         }  
237         #endregion  
238 
239         是否Int64类型(64 位的有符号整数): -9,223,372,036,854,775,808 到 +9,223,372,036,854,775,807 之间的整数#region 是否Int64类型(64 位的有符号整数): -9,223,372,036,854,775,808 到 +9,223,372,036,854,775,807 之间的整数  
240         /**//// <summary>  
241         /// 是否Int64类型(64 位的有符号整数): -9,223,372,036,854,775,808 到 +9,223,372,036,854,775,807 之间的整数  
242         /// </summary>  
243         /// <returns>Boolean</returns>  
244         protected bool IsInt64()  
245         {  
246             try  
247             {  
248                 Int64.Parse(_String);  
249             }  
250             catch  
251             {  
252                 return false;  
253             }  
254             return true;  
255         }  
256         #endregion  
257 
258         是否Single类型(单精度(32 位)浮点数字): -3.402823e38 和 +3.402823e38 之间的单精度 32 位数字#region 是否Single类型(单精度(32 位)浮点数字): -3.402823e38 和 +3.402823e38 之间的单精度 32 位数字  
259         /**//// <summary>  
260         /// 是否Single类型(单精度(32 位)浮点数字): -3.402823e38 和 +3.402823e38 之间的单精度 32 位数字  
261         /// </summary>  
262         /// <returns>Boolean</returns>  
263         protected bool IsSingle()  
264         {  
265             try  
266             {  
267                 Single.Parse(_String);  
268             }  
269             catch  
270             {  
271                 return false;  
272             }  
273             return true;  
274         }  
275         #endregion  
276 
277         是否Double类型(单精度(64 位)浮点数字): -1.79769313486232e308 和 +1.79769313486232e308 之间的双精度 64 位数字#region 是否Double类型(单精度(64 位)浮点数字): -1.79769313486232e308 和 +1.79769313486232e308 之间的双精度 64 位数字  
278         /**//// <summary>  
279         /// 是否Double类型(单精度(64 位)浮点数字): -1.79769313486232e308 和 +1.79769313486232e308 之间的双精度 64 位数字  
280         /// </summary>  
281         /// <returns>Boolean</returns>  
282         protected bool IsDouble()  
283         {  
284             try  
285             {  
286                 Double.Parse(_String);  
287             }  
288             catch  
289             {  
290                 return false;  
291             }  
292             return true;  
293         }  
294         #endregion  
295 
296         是否Boolean类型(布尔值):true 或 false#region 是否Boolean类型(布尔值):true 或 false  
297         /**//// <summary>  
298         /// 是否Double类型(单精度(64 位)浮点数字): -1.79769313486232e308 和 +1.79769313486232e308 之间的双精度 64 位数字  
299         /// </summary>  
300         /// <returns>Boolean</returns>  
301         protected bool IsBoolean()  
302         {  
303             try  
304             {  
305                 Boolean.Parse(_String);  
306             }  
307             catch  
308             {  
309 <

分享到:
评论

相关推荐

    C#正则表达示练习器

    这款"C#正则表达示练习器"是一个专门针对C#正则表达式的练习工具,对于初学者来说,这是一个很好的实践平台,能够帮助快速理解和掌握正则表达式的用法。 正则表达式的基础概念: 1. **元字符**:如`.`代表任意字符...

    正则表达式测试工具C#版(src)

    在C#编程语言中,正则表达式被广泛应用于数据验证、文本提取、格式转换等多个场景。本项目提供了一个C#编写的正则表达式测试工具,包含完整的源代码,可以帮助开发者调试和测试他们的正则表达式,支持查找和替换功能...

    C#正则表达式快速入门.rar

    C#正则表达式是.NET框架中用于处理字符串模式匹配的强大工具。它是通过System.Text.RegularExpressions命名空间中的Regex类实现的。本快速入门将带你走进C#正则表达式的精彩世界,帮助你理解和掌握这一核心技能。 ...

    正则表达式验证器(附源代码)

    本项目提供的“正则表达式验证器”包含源代码,可以帮助开发者在工作中快速验证正则表达式的正确性,同时为学习C#中的正则表达式提供了实践平台。 首先,我们来看正则表达式的基本结构和语法。正则表达式由一系列...

    C#正则表达式总结C#正则表达式总结

    以下是一些常见的C#正则表达式模式及其用途: 1. **只能输入数字**:`^[0-9]*$` - 匹配任何非空的数字序列。 2. **只能输入n位的数字**:`^\d{n}$` - 匹配精确n位的数字,例如`^\d{3}$`将匹配3位数字。 3. **只能...

    C#字符串和正则表达式参考手册PDF教材,

    C#的字符串和正则表达式结合使用,可以解决许多复杂的文本处理问题,如验证用户输入、数据清洗、文本分析等。在实际开发中,熟练掌握这两部分知识,不仅能提高代码的效率,还能大大增强解决问题的能力。QT38-C#字符...

    C#和JAVA正则表达式

    C#中的正则表达式支持丰富的元字符和预定义字符类,如`.`代表任意字符,`\d`代表数字,`\w`代表字母或数字等。此外,还可以使用`(?)`创建捕获组,便于后续处理。 Java中,正则表达式的操作主要通过`java.util.regex...

    RegexDesigner.rar_RegexDesigner_正则表达_正则表达式

    正则表达式在日常开发中的应用场景广泛,如验证用户输入(邮箱、电话号码格式)、搜索和替换文本、爬虫数据提取等。掌握正则表达式不仅可以提高工作效率,也是成为一名优秀程序员的重要技能之一。 通过使用...

    正则表达式

    由于某些字符类非常常用,所以JavaScript的正则表达式语法包含一些特殊字符和转义序列来表示这些常用的类.例如, \s 匹配的是空格符,制表符和其它空白符, \s 匹配的则是空白符之外的任何字符. 正则表灰式的字符类 ...

    CSharpC#正则练习器含原码

    2. **C#正则表达示练习器.exe**:这是可执行文件,表示这个项目是一个已编译的应用程序,可以直接运行在支持.NET环境的Windows系统上。用户可以使用这个程序来实践和学习正则表达式。 3. **Regulation.XML**:这可能...

    使用C#的正则表达式验证中文字符(实例代码)

    废话不多说了,直接给大家贴代码了,具体代码如下所示: using System; using System.Collections.Generic;...namespace 正则表达01 { /// /// 表达是否是字符是不是中文 /// class Program { /// /// 在

    常用正则表达式集合

    正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索和替换等场景。在这个“常用正则表达式集合”中,你可能会找到许多实用的模板,帮助你在处理字符串时...

    遨游在正则表达式的海洋

    - **了解正则表达式能做什么:** 正则表达式可以用于文本搜索、替换、验证等场景。 - **熟悉基本语法:** 包括元字符、重复、分组等概念。 - **学会如何使用正则表达式:** 在不同的编程语言中应用正则表达式的具体...

    正则表达式小结

    ### 正则表达式小结:C# 中的高级匹配规则 ...正则表达式的强大之处在于其灵活性和表达能力,掌握了以上基本和高级用法后,开发者可以更高效地处理各种文本数据,实现自动化和精确的数据清洗、分析和验证。

    正则表达式使用帮助文档

    正则表达式在各种编程语言中都有实现,如JavaScript、Python、Java、C#等。它们提供了内置的函数或模块来处理正则表达式,如JavaScript的`match()`、`search()`、`replace()`和`split()`方法,Python的`re`模块。 ...

    精通正则表达式英文原版-第3版

    正则表达式作为一个强大的工具,在处理文本和数据时拥有极高的效率和灵活性,被广泛应用于多种编程语言和流行工具中,比如Perl、Python、Ruby、Java、***、C#(以及任何使用.NET框架的语言)、PHP和MySQL。...

Global site tag (gtag.js) - Google Analytics