一个常用的正则表达验证类.docx
- 文档编号:5094075
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:25
- 大小:21.77KB
一个常用的正则表达验证类.docx
《一个常用的正则表达验证类.docx》由会员分享,可在线阅读,更多相关《一个常用的正则表达验证类.docx(25页珍藏版)》请在冰豆网上搜索。
一个常用的正则表达验证类
很早以前写的一个正则表达式验证工具类,包含了一些常见的校验和支持自定义的正则表达式匹配,可以选择完全匹配,也可以获取所有匹配项。
曾用它仿造Eclispe下的正则表达式插件写过一个工具。
因为最近突然有几个朋友都在问这方面的问题,干脆就把代码贴出来好了。
usingSystem;
02.usingSystem.Collections;
03.usingSystem.Text.RegularExpressions;
04.
05.namespaceXrinehart.Framework.Common.Validate
06.{
07./**////<summary>
08.///RegularMatch的摘要说明。
09.///</summary>
10.publicclassRegularMatch
11.{
12.privatestring_String;
13.privatebool_IsEntirety;
14.
15./**////<summary>
16.///可以进行判断的类型
17.///</summary>
18.publicenumOperation
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.publicRegularMatch(){}
26.
27.用于判断字符串是否是对应类型(默认为包含匹配)#region用于判断字符串是否是对应类型(默认为包含匹配)
28.publicboolIsAccordType(stringstrVerifyString,Operationop)
29.{
30.returnIsAccordType(strVerifyString,op,false);
31.}
32.#endregion
33.
34.用于判断字符串是否是对应类型(或是否包含对应类型的字符)#region用于判断字符串是否是对应类型(或是否包含对应类型的字符)
35./**////<summary>
36.///用于判断字符串是否是对应类型
37.///</summary>
38.///<paramname="strVerifyString">String,需要判断的字符串</param>
39.///<paramname="op">Operation枚举,用于选择需要进行的操作</param>
40.///<paramname="IsEntirety">Boolean,判断是完全匹配还是包含匹配模式(仅适用于非类型判断时)</param>
41.///<returns></returns>
42.publicboolIsAccordType(stringstrVerifyString,Operationop,boolIsEntirety)
43.{
44._String=strVerifyString;
45._IsEntirety=IsEntirety;
46.
47.switch(op)
48.{
49.caseOperation.Byte:
50.{
51.returnIsByte();
52.}
53.caseOperation.SByte:
54.{
55.returnIsSByte();
56.}
57.caseOperation.Int16:
58.{
59.returnIsInt16();
60.}
61.caseOperation.Int32:
62.{
63.returnIsInt32();
64.}
65.caseOperation.Int64:
66.{
67.returnIsInt64();
68.}
69.caseOperation.Single:
70.{
71.returnIsSingle();
72.}
73.caseOperation.Double:
74.{
75.returnIsDouble();
76.}
77.caseOperation.Boolean:
78.{
79.returnIsBoolean();
80.}
81.caseOperation.Char:
82.{
83.returnIsChar();
84.}
85.caseOperation.Decimal:
86.{
87.returnIsDecimal();
88.}
89.caseOperation.DateTime:
90.{
91.returnIsDateTime();
92.}
93.caseOperation.Date:
94.{
95.returnIsDate();
96.}
97.caseOperation.Time:
98.{
99.returnIsTime();
100.}
101.caseOperation.IPAddress:
102.{
103.returnIsIPAddress();
104.}
105.caseOperation.ChinaPhone:
106.{
107.returnIsChinaPhone();
108.}
109.caseOperation.ChinesePostalCode:
110.{
111.returnIsChinesePostalCode();
112.}
113.caseOperation.ChineseMobile:
114.{
115.returnIsChineseMobile();
116.}
117.caseOperation.EMail:
118.{
119.returnIsEmail();
120.}
121.caseOperation.URL:
122.{
123.returnIsURL();
124.}
125.caseOperation.ChineseWord:
126.{
127.returnIsChineseWord();
128.}
129.caseOperation.Number:
130.{
131.returnIsNumber();
132.}
133.caseOperation.StringModel_01:
134.{
135.returnIsStringModel_01();
136.}
137.caseOperation.StringModel_02:
138.{
139.returnIsStringModel_02();
140.}
141.caseOperation.WideWord:
142.{
143.returnIsWideWord();
144.}
145.caseOperation.NarrowWord:
146.{
147.returnIsNarrowWord();
148.}
149.caseOperation.ChineseID:
150.{
151.returnIsChineseID();
152.}
153.default:
154.{
155.returnfalse;
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.protectedboolIsByte()
169.{
170.try
171.{
172.Byte.Parse(_String);
173.}
174.catch
175.{
176.returnfalse;
177.}
178.returntrue;
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.protectedboolIsSByte()
188.{
189.try
190.{
191.SByte.Parse(_String);
192.}
193.catch
194.{
195.returnfalse;
196.}
197.returntrue;
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.protectedboolIsInt16()
207.{
208.try
209.{
210.Int16.Parse(_String);
211.}
212.catch
213.{
214.returnfalse;
215.}
216.returntrue;
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.protectedboolIsInt32()
226.{
227.try
228.{
229.Int32.Parse(_String);
230.}
231.catch
232.{
233.returnfalse;
234.}
235.returntrue;
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.protectedboolIsInt64()
245.{
246.try
247.{
248.Int64.Parse(_String);
249.}
250.catch
251.{
252.returnfalse;
253.}
254.returntrue;
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.protectedboolIsSingle()
264.{
265.try
266.{
267.Single.Parse(_String);
268.}
269.catch
270.{
271.returnfalse;
272.}
273.returntrue;
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.protectedboolIsDouble()
283.{
284.try
285.{
286.Double.Parse(_String);
287.}
288.catch
289.{
290.returnfalse;
291.}
292.returntrue;
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.protectedboolIsBoolean()
302.{
303.try
304.{
305.Boolean.Parse(_String);
306.}
307.catch
308.{
309.returnfalse;
310.}
311.returntrue;
312.}
313.#endregion
314.
315.是否Char类型(Unicode(16位)字符):
该16位数字的值范围为从十六进制值0x0000到0xFFFF#region是否Char类型(Unicode(16位)字符):
该16位数字的值范围为从十六进制值0x0000到0xFFFF
316./**////<summary>
317.///是否Char类型(Unicode(16位)字符):
该16位数字的值范围为从十六进制值0x0000到0xFFFF
318.///</summary>
319.///<returns>Boolean</returns>
320.protectedboolIsChar()
321.{
322.try
323.{
324.Char.Parse(_String);
325.}
326.catch
327.{
328.returnfalse;
329.}
330.returntrue;
331.}
332.#endregion
333.
334.是否Char类型(96位十进制值):
从正79,228,162,514,264,337,593,543,950,335到负79,228,162,514,264,337,593,543,950,335之间的十进制数#region是否Char类型(96位十进制值):
从正79,228,162,514,264,337,593,543,950,335到负79,228,162,514,264,337,593,543,950,335之间的十进制数
335./**////<summary>
336.///是否Char类型(96位十进制值):
从正79,228,162,514,264,337,593,543,950,335到负79,228,162,514,264,337,593,543,950,335之间的十进制数
337.///</summary>
338.///<returns>Boolean</returns>
339.protectedboolIsDecimal()
340.{
341.try
342.{
343.Decimal.Parse(_String);
344.}
345.catch
346.{
347.returnfalse;
348.}
349.returntrue;
350.}
351.#endregion
352.
353.是否DateTime类型(表示时间上的一刻):
范围在公元(基督纪元)0001年1月1日午夜12:
00:
00到公元(C.E.)9999年12月31日晚上11:
59:
59之间的日期和时间#region是否DateTime类型(表示时间上的一刻):
范围在公元(基督纪元)0001年1月1日午夜12:
00:
00到公元(C.E.)9999年12月31日晚上11:
59:
59之间的日期和时间
354./**////<summary>
355.///是否DateTime类型(表示时间上的一刻):
范围在公元(基督纪元)0001年1月1日午夜12:
00:
00到公元(C.E.)9999年12月31日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一个 常用 正则 表达 验证
![提示](https://static.bdocx.com/images/bang_tan.gif)