欧美三区四区_av先锋影音资源站_亚洲第一论坛sis_影音先锋2020色资源网_亚洲精品社区_在线免费观看av网站_国产一区二区伦理_亚洲欧美视频一区二区_99视频精品全部免费在线_精精国产xxxx视频在线

一個常用的正則表達驗證類_PHP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:php如何調用c接口無錯版
1.首先是要安裝好PHP 2.進入PHP的下載解壓目錄下的ext目錄 #cd /root/php-5.3.6/ext #./ext_skel --extname=hmc 說明: ./ext_skel --extname=module_name module_name是你自己可以選擇的擴展模塊的名字,例如我選擇的hmc。執行工具后會自動在ext目錄下建立你選擇的mod

 很早以前寫的一個正則表達式驗證工具類,包含了一些常見的校驗和支持自定義的正則表達式匹配,可以選擇完全匹配,也可以獲取所有匹配項。曾用它仿造Eclispe下的正則表達式插件寫過一個工具。因為最近突然有幾個朋友都在問這方面的問題,干脆就把代碼貼出來好了。

using System;
02.using System.Collections;
03.using System.Text.RegularExpressions;
04.
05.namespace Xrinehart.Framework.Common.Validate
06.{
07. /**//// <summary>
08. /// RegularMatch 的摘要說明。
09. /// </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. return false;
310. }
311. return true;
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. protected bool IsChar()
321. {
322. try
323. {
324. Char.Parse(_String);
325. }
326. catch
327. {
328. return false;
329. }
330. return true;
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. protected bool IsDecimal()
340. {
341. try
342. {
343. Decimal.Parse(_String);
344. }
345. catch
346. {
347. return false;
348. }
349. return true;
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 日晚上 11:59:59 之間的日期和時間
356. /// </summary>
357. /// <returns>Boolean</returns>
358. protected bool IsDateTime()
359. {
360. try
361. {
362. DateTime.Parse(_String);
363. }
364. catch
365. {
366. return false;
367. }
368. return true;
369. }
370. #endregion
371.
372. 是否Date類型(表示時間的日期部分): 范圍在公元(基督紀元)0001 年 1 月 1 日 到公元 (C.E.) 9999 年 12 月 31 日之間的日期#region 是否Date類型(表示時間的日期部分): 范圍在公元(基督紀元)0001 年 1 月 1 日 到公元 (C.E.) 9999 年 12 月 31 日之間的日期
373. /**//// <summary>
374. /// 是否Date類型(表示時間的日期部分): 范圍在公元(基督紀元)0001 年 1 月 1 日 到公元 (C.E.) 9999 年 12 月 31 日之間的日期
375. /// </summary>
376. /// <returns>Boolean</returns>
377. protected bool IsDate()
378. {
379. DateTime Value;
380. try
381. {
382. Value = DateTime.Parse(_String);
383. }
384. catch
385. {
386. return false;
387. }
388. if (Value.Date.ToString() == _String)
389. {
390. return true;
391. }
392. else
393. {
394. return false;
395. }
396. }
397. #endregion
398.
399. 是否Time類型(表示時間部分HHMMSS): 范圍在夜 12:00:00 到晚上 11:59:59 之間的時間#region 是否Time類型(表示時間部分HHMMSS): 范圍在夜 12:00:00 到晚上 11:59:59 之間的時間
400. /**//// <summary>
401. /// 是否Time類型(表示時間部分HHMMSS): 范圍在夜 12:00:00 到晚上 11:59:59 之間的時間
402. /// </summary>
403. /// <returns>Boolean</returns>
404. protected bool IsTime()
405. {
406. DateTime Value;
407. try
408. {
409. Value = DateTime.Parse(_String);
410. }
411. catch
412. {
413. return false;
414. }
415. if (Value.Year == 1 && Value.Month == 1 && Value.Day == 1)
416. {
417. return true;
418. }
419. else
420. {
421. return false;
422. }
423. }
424. #endregion
425.
426. 是否IPAddress類型(IPv4 的情況下使用以點分隔的四部分表示法格式表示,IPv6 的情況下使用冒號與十六進制格式表示)#region 是否IPAddress類型(IPv4 的情況下使用以點分隔的四部分表示法格式表示,IPv6 的情況下使用冒號與十六進制格式表示)
427. /**//// <summary>
428. /// 是否IPAddress類型(IPv4 的情況下使用以點分隔的四部分表示法格式表示,IPv6 的情況下使用冒號與十六進制格式表示)
429. /// </summary>
430. /// <returns>Boolean</returns>
431. protected bool IsIPAddress()
432. {
433. try
434. {
435. System.Net.IPAddress.Parse(_String);
436. }
437. catch
438. {
439. return false;
440. }
441. return true;
442. }
443. #endregion
444.
445. 是否中國電話號碼類型(XXX/XXXX-XXXXXXX/XXXXXXXX (/d{3,4})-?/d{7,8}):判斷是否是(區號:3或4位)-(電話號碼:7或8位)#region 是否中國電話號碼類型(XXX/XXXX-XXXXXXX/XXXXXXXX (/d{3,4})-?/d{7,8}):判斷是否是(區號:3或4位)-(電話號碼:7或8位)
446. /**//// <summary>
447. /// 是否中國電話號碼類型(XXX/XXXX-XXXXXXX/XXXXXXXX (/d{3,4})-?/d{7,8}):判斷是否是(區號:3或4位)-(電話號碼:7或8位)
448. /// </summary>
449. /// <returns>Boolean</returns>
450. protected bool IsChinaPhone()
451. {
452. ArrayList aryResult = new ArrayList();
453. return CommRegularMatch(_String, @"(/d{3,4})-?/d{7,8}", RegexOptions.None, ref aryResult, _IsEntirety);
454. }
455. #endregion
456.
457. 是否中國郵政編碼(6位數字 /d{6})#region 是否中國郵政編碼(6位數字 /d{6})
458. /**//// <summary>
459. /// 是否中國郵政編碼(6位數字 /d{6})
460. /// </summary>
461. /// <returns>Boolean</returns>
462. protected bool IsChinesePostalCode()
463. {
464. ArrayList aryResult = new ArrayList();
465. return CommRegularMatch(_String, @"/d{6}", RegexOptions.None, ref aryResult, _IsEntirety);
466. }
467. #endregion
468.
469. 是否中國移動電話號碼(13開頭的總11位數字 13/d{9})#region 是否中國移動電話號碼(13開頭的總11位數字 13/d{9})
470. /**//// <summary>
471. /// 是否中國移動電話號碼(13開頭的總11位數字 13/d{9})
472. /// </summary>
473. /// <returns>Boolean</returns>
474. protected bool IsChineseMobile()
475. {
476. ArrayList aryResult = new ArrayList();
477. return CommRegularMatch(_String, @"13/d{9}", RegexOptions.None, ref aryResult, _IsEntirety);
478. }
479. #endregion
480.
481. 是否EMail類型(XXX@XXX.XXX /w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*)#region 是否EMail類型(XXX@XXX.XXX /w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*)
482. /**//// <summary>
483. /// 是否EMail類型(XXX@XXX.XXX /w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*)
484. /// </summary>
485. /// <returns>Boolean</returns>
486. protected bool IsEmail()
487. {
488. ArrayList aryResult = new ArrayList();
489. return CommRegularMatch(_String, @"/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*", RegexOptions.None, ref aryResult, _IsEntirety);
490. }
491. #endregion
492.
493. 是否Internet URL地址類型(http://)#region 是否Internet URL地址類型(http://)
494. /**//// <summary>
495. /// 是否Internet URL地址類型(http://)
496. /// </summary>
497. /// <returns>Boolean</returns>
498. protected bool IsURL()
499. {
500. ArrayList aryResult = new ArrayList();
501. return CommRegularMatch(_String, @"http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?", RegexOptions.None, ref aryResult, _IsEntirety);
502. }
503. #endregion
504.
505. 是否中文字符([/u4e00-/u9fa5])#region 是否中文字符([/u4e00-/u9fa5])
506. /**//// <summary>
507. /// 是否中文字符([/u4e00-/u9fa5])
508. /// </summary>
509. /// <returns>Boolean</returns>
510. protected bool IsChineseWord()
511. {
512. ArrayList aryResult = new ArrayList();
513. return CommRegularMatch(_String, @"[/u4e00-/u9fa5]", RegexOptions.None, ref aryResult, _IsEntirety);
514. }
515. #endregion
516.
517. 是否是數字(0到9的數字[/d]+):不包括符號"."和"-"#region 是否是數字(0到9的數字[/d]+):不包括符號"."和"-"
518. /**//// <summary>
519. /// 是否是數字(0到9的數字[/d]+):不包括符號"."和"-"
520. /// </summary>
521. /// <returns>Boolean</returns>
522. protected bool IsNumber()
523. {
524. ArrayList aryResult = new ArrayList();
525. return CommRegularMatch(_String, @"[/d]+", RegexOptions.None, ref aryResult, _IsEntirety);
526. }
527. #endregion
528.
529. 是否只包含數字,英文和下劃線([/w]+)#region 是否只包含數字,英文和下劃線([/w]+)
530. /**//// <summary>
531. /// 是否只包含數字,英文和下劃線([/w]+)
532. /// </summary>
533. /// <returns>Boolean</returns>
534. protected bool IsStringModel_01()
535. {
536. ArrayList aryResult = new ArrayList();
537. return CommRegularMatch(_String, @"[/w]+", RegexOptions.None, ref aryResult, _IsEntirety);
538. }
539. #endregion
540.
541. 是否大寫首字母的英文字母([A-Z][a-z]+)#region 是否大寫首字母的英文字母([A-Z][a-z]+)
542. /**//// <summary>
543. /// 是否大寫首字母的英文字母([A-Z][a-z]+)
544. /// </summary>
545. /// <returns>Boolean</returns>
546. protected bool IsStringModel_02()
547. {
548. ArrayList aryResult = new ArrayList();
549. return CommRegularMatch(_String, @"[A-Z][a-z]+", RegexOptions.None, ref aryResult, _IsEntirety);
550. }
551. #endregion
552.
553. 是否全角字符([^/x00-/xff]):包括漢字在內#region 是否全角字符([^/x00-/xff]):包括漢字在內
554. /**//// <summary>
555. /// 是否全角字符([^/x00-/xff]):包括漢字在內
556. /// </summary>
557. /// <returns>Boolean</returns>
558. protected bool IsWideWord()
559. {
560. ArrayList aryResult = new ArrayList();
561. return CommRegularMatch(_String, @"[^/x00-/xff]", RegexOptions.None, ref aryResult, _IsEntirety);
562. }
563. #endregion
564.
565. 是否半角字符([/x00-/xff])#region 是否半角字符([/x00-/xff])
566. /**//// <summary>
567. /// 是否半角字符([^/x00-/xff]):包括漢字在內
568. /// </summary>
569. /// <returns>Boolean</returns>
570. protected bool IsNarrowWord()
571. {
572. ArrayList aryResult = new ArrayList();
573. return CommRegularMatch(_String, @"[/x00-/xff]", RegexOptions.None, ref aryResult, _IsEntirety);
574. }
575. #endregion
576.
577. 是否合法的中國身份證號碼#region 是否合法的中國身份證號碼
578. protected bool IsChineseID()
579. {
580. if (_String.Length == 15)
581. {
582. _String = CidUpdate(_String);
583. }
584. if (_String.Length == 18)
585. {
586. string strResult = CheckCidInfo(_String);
587. if (strResult == "非法地區" || strResult == "非法生日" || strResult == "非法證號")
588. {
589. return false;
590. }
591. else
592. {
593. return true;
594. }
595. }
596. else
597. {
598. return false;
599. }
600. }
601. #endregion
602.
603. #endregion
604.
605. 通用正則表達式判斷函數#region 通用正則表達式判斷函數
606. /**//// <summary>
607. /// 通用正則表達式判斷函數
608. /// </summary>
609. /// <param name="strVerifyString">String,用于匹配的字符串</param>
610. /// <param name="strRegular">String,正則表達式</param>
611. /// <param name="regOption">RegexOptions,配置正則表達式的選項</param>
612. /// <param name="aryResult">ArrayList,分解的字符串內容</param>
613. /// <param name="IsEntirety">Boolean,是否需要完全匹配</param>
614. /// <returns></returns>
615. public bool CommRegularMatch(string strVerifyString, string strRegular, System.Text.RegularExpressions.RegexOptions regOption, ref System.Collections.ArrayList aryResult, bool IsEntirety)
616. {
617. System.Text.RegularExpressions.Regex r;
618. System.Text.RegularExpressions.Match m;
619.
620. 如果需要完全匹配的處理#region 如果需要完全匹配的處理
621. if (IsEntirety)
622. {
623. strRegular = strRegular.Insert(0, @"/A");
624. strRegular = strRegular.Insert(strRegular.Length, @"/z");
625. }
626. #endregion
627.
628. try
629. {
630. r = new System.Text.RegularExpressions.Regex(strRegular, regOption);
631. }
632. catch (System.Exception e)
633. {
634. throw (e);
635. }
636.
637. for (m = r.Match(strVerifyString); m.Success; m = m.NextMatch())
638. {
639. aryResult.Add(m);
640. }
641.
642. if (aryResult.Count == 0)
643. {
644. return false;
645. }
646. else
647. {
648. return true;
649. }
650. }
651. #endregion
652.
653. 中國身份證號碼驗證#region 中國身份證號碼驗證
654. private string CheckCidInfo(string cid)
655. {
656. string[] aCity = new string[] { null, null, null, null, null, null, null, null, null, null, null, "北京", "天津", "河北", "山西", "內蒙古", null, null, null, null, null, "遼寧", "吉林", "黑龍江", null, null, null, null, null, null, null, "上海", "江蘇", "浙江", "安微", "福建", "江西", "山東", null, null, null, "河南", "湖北", "湖南", "廣東", "廣西", "海南", null, null, null, "重慶", "四川", "貴州", "云南", "西藏", null, null, null, null, null, null, "陜西", "甘肅", "青海", "寧夏", "新疆", null, null, null, null, null, "臺灣", null, null, null, null, null, null, null, null, null, "香港", "澳門", null, null, null, null, null, null, null, null, "國外" };
657. double iSum = 0;
658. string info = string.Empty;
659. System.Text.RegularExpressions.Regex rg = new System.Text.RegularExpressions.Regex(@"^/d{17}(/d|x)$");
660. System.Text.RegularExpressions.Match mc = rg.Match(cid);
661. if (!mc.Success)
662. {
663. return string.Empty;
664. }
665. cid = cid.ToLower();
666. cid = cid.Replace("x", "a");
667. if (aCity[int.Parse(cid.Substring(0, 2))] == null)
668. {
669. return "非法地區";
670. }
671. try
672. {
673. DateTime.Parse(cid.Substring(6, 4) + " - " + cid.Substring(10, 2) + " - " + cid.Substring(12, 2));
674. }
675. catch
676. {
677. return "非法生日";
678. }
679. for (int i = 17; i >= 0; i--)
680. {
681. iSum += (System.Math.Pow(2, i) % 11) * int.Parse(cid[17 - i].ToString(), System.Globalization.NumberStyles.HexNumber);
682. }
683. if (iSum % 11 != 1)
684. {
685. return ("非法證號");
686. }
687. else
688. {
689. return (aCity[int.Parse(cid.Substring(0, 2))] + "," + cid.Substring(6, 4) + "-" + cid.Substring(10, 2) + "-" + cid.Substring(12, 2) + "," + (int.Parse(cid.Substring(16, 1)) % 2 == 1 ? "男" : "女"));
690. }
691. }
692. #endregion
693.
694. 身份證號碼15升級為18位#region 身份證號碼15升級為18位
695. private string CidUpdate(string ShortCid)
696. {
697. char[] strJiaoYan = { '1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2' };
698. int[] intQuan = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 };
699. string strTemp;
700. int intTemp = 0;
701.
702. strTemp = ShortCid.Substring(0, 6) + "19" + ShortCid.Substring(6);
703. for (int i = 0; i <= strTemp.Length - 1; i++)
704. {
705. intTemp += int.Parse(strTemp.Substring(i, 1)) * intQuan[i];
706. }
707. intTemp = intTemp % 11;
708. return strTemp + strJiaoYan[intTemp];
709. }
710. #endregion
711. }
712.}

分享:C#調用windows api的要點
在.Net Framework SDK文檔中,關于調用Windows API的指示比較零散,并且其中稍全面一點的是針對Visual Basic .net講述的。本文將C#中調用API的要點匯集如下,希望給未在C#中使用過API的朋友一點幫助。另外如果安裝了Visual Studio .net的話,在C:/Program Files/Micros

來源:模板無憂//所屬分類:PHP教程/更新時間:2015-02-06
相關PHP教程
日本伊人色综合网| 免费av网站在线| 91成人短视频在线观看| 韩国精品久久久| 91麻豆精品国产自产在线观看一区| 国产精品久久久久一区二区| 午夜精品久久久久久久99热影院| www.黄色片| 亚洲免费影视| 欧美日韩三级一区二区| 97视频热人人精品| 懂色av粉嫩av蜜乳av| 另类一区二区| 成人aa视频在线观看| 这里只有精品久久| 国产爆乳无码一区二区麻豆| 亚洲伊人成人网| 欧美一区在线看| 亚洲成人中文在线| 国产欧美最新羞羞视频在线观看| 欧美性猛交乱大交| 日韩成人影音| 成人妖精视频yjsp地址| 中文字幕国产精品久久| 日韩精品一区在线视频| 中文字幕av影视| 亚洲日韩视频| 在线播放/欧美激情| 91一区二区三区| 中国女人特级毛片| 美国一区二区| 亚洲情趣在线观看| 国产精品美女网站| jlzzjizz在线播放观看| 欧美9999| 中文无字幕一区二区三区| 欧美极品少妇xxxxx| 天天爱天天操天天干| 少妇又色又爽又黄的视频| 黑人巨大精品欧美黑白配亚洲| 精品在线欧美视频| 国产精品久久夜| 亚洲色图制服诱惑| 国产成人精品久久| 中文字幕人妻一区二区三区| 日韩高清在线观看一区二区| 欧美激情在线一区二区| 91av在线影院| 中国黄色片视频| 美国十次综合久久| 亚洲视频1区2区| 国产精品视频久久久久| 精品成人av一区二区三区| 三级精品视频| 天天综合网 天天综合色| 97视频资源在线观看| 日韩av手机在线免费观看| 青青草91久久久久久久久| 日韩欧美在线第一页| 韩日午夜在线资源一区二区| 欧美人与禽zozzo禽性配| 亚洲精品a级片| 欧美日韩大陆在线| 色香蕉在线观看| 91精品人妻一区二区三区果冻| 蜜乳av一区二区三区| 最好看的2019年中文视频| 熟女性饥渴一区二区三区| 欧美xxxxxx| 久久久久久久久久久黄色| 韩国视频理论视频久久| 人妻 日韩 欧美 综合 制服| 开心激情综合| 欧美日韩亚洲高清| 欧美激情导航| www.久久网| 久久精品99国产精品| 日韩在线视频观看| 中文字幕在线视频精品| 玖玖精品一区| 亚洲成a天堂v人片| 精品国产乱码久久久久久丨区2区 精品国产乱码久久久久久蜜柚 | 国产精品久久精品国产| 69精品久久久| 另类激情亚洲| 色婷婷综合久久久久中文字幕1| 第四色婷婷基地| avtt久久| 亚洲国产一区二区a毛片| 国新精品乱码一区二区三区18| 日本一级片免费看| 日本vs亚洲vs韩国一区三区| 久久久精品一区二区| 韩国三级在线播放| 亚洲理论电影| 欧美日韩精品高清| www.夜夜爱| 免费成人美女女| 亚洲色图清纯唯美| 国产精品一区二区三区在线观| 精品人妻无码一区二区性色| 久久精品国产精品亚洲精品 | 欧美一级淫片aaaaaa| 久久色视频免费观看| 国产日韩精品在线观看| 精品无码人妻一区二区三区| 久久九九99| 美女视频久久黄| 偷拍夫妻性生活| 欧美+亚洲+精品+三区| 亚洲人成电影网站色…| 手机在线国产视频| 少妇精品导航| 制服.丝袜.亚洲.中文.综合| 色综合久久久久无码专区| 欧美三级电影网址| 亚洲成人中文在线| 综合视频免费看| 亚洲校园激情春色| 亚洲私人黄色宅男| 欧美1o一11sex性hdhd| 精品国产av一区二区| 国产亚洲欧美一区在线观看| 91在线看网站| 成人黄色激情视频| 99精品偷自拍| 99国产在线视频| 久久久久久久久久久人体| 大陆极品少妇内射aaaaa| 亚洲伦理久久| 色88888久久久久久影院按摩| 久久久久久久久久久久久国产| 卡通欧美亚洲| 亚洲va欧美va人人爽午夜| 天天干天天操天天干天天操| 欧美日韩免费看片| 天天色天天操综合| a级黄色片免费| av日韩一区| 欧美优质美女网站| av黄色在线网站| 白嫩白嫩国产精品| 日韩一区二区视频| 日本中文字幕二区| 成人3d动漫在线观看| 国产视频亚洲精品| 中文字幕在线永久| 最新日韩在线| 欧美激情一区二区三区高清视频| 女性裸体视频网站| 美女mm1313爽爽久久久蜜臀| 国产成人av网| 久久久久在线视频| 久久精品亚洲乱码伦伦中文| 久久精品日产第一区二区三区乱码| www.爱爱.com| 亚洲一区免费在线观看| 国产欧美久久久久| av不卡一区| 亚洲成人av资源网| 岛国精品资源网站| 性娇小13――14欧美| 992tv在线成人免费观看| 日韩欧美不卡视频| 99久久er热在这里只有精品66| 国产九色91| 日本黄色大片视频| 欧美性高跟鞋xxxxhd| 三级4级全黄60分钟| 精品一区电影| 色一区av在线| 国产精品夜夜夜爽阿娇| 国产乱码精品一区二区三区av | 久久久久久婷| 国产精品久久久久av| 91国在线视频| 亚洲在线视频网站| 免费成人在线视频网站| 国产精品入口久久| 在线观看日韩欧美| 校园春色 亚洲| a级精品国产片在线观看| 欧美日韩精品免费看| 国产成人精品一区二区三区免费| 欧美久久久一区| 在线观看亚洲免费视频| 另类国产ts人妖高潮视频| 国产在线久久久| 亚洲av综合色区无码一二三区| 精品动漫一区二区| 992kp快乐看片永久免费网址| 国产精品伦理久久久久久| 欧美日韩成人黄色| 久久青青草视频| 亚洲欧洲三级电影| 久久久久久人妻一区二区三区| 欧美精品momsxxx| www.亚洲成人| 国产精品18p| 久久久久国产精品无码免费看| 婷婷丁香综合| 久久久久久中文字幕| 国产又粗又猛又黄视频| 亚洲人精品午夜| 久久久久久久久久久99| 日韩久久视频| 韩国v欧美v日本v亚洲| 中文字幕av第一页| 亚洲一二三四久久| 天天综合网久久| 99香蕉国产精品偷在线观看| 国产有码在线一区二区视频| 日韩一区二区三区在线观看视频| 在线观看一区不卡| 毛茸茸free性熟hd| 国产综合久久久久久鬼色| 久草精品电影| 亚洲无线观看| 最近2019好看的中文字幕免费| 欧美一级视频免费观看| 亚洲欧美视频在线观看| 日本精品一区二区三区四区 | 欧美日韩综合色| 在线观看成人动漫| 国产精品一区在线| 视频一区二区综合| 免费久久精品| 国语自产精品视频在免费| 国产免费的av| 欧美日韩激情一区二区三区| 日本少妇色视频| 成人污污视频在线观看| 中文字幕欧美日韩一区二区| 色棕色天天综合网| 97在线视频免费观看| 精品国自产在线观看| 欧美日韩国产中文| 一色道久久88加勒比一| 99r精品视频| 一卡二卡三卡视频| 国内综合精品午夜久久资源| 国产欧美一区二区三区四区| 人人鲁人人莫人人爱精品| 亚洲老板91色精品久久| 91午夜视频在线观看| 精品国产户外野外| 大尺度在线观看| 成人小视频在线| 欧美在线视频a| av日韩在线看| 欧美热在线视频精品999| 国产91精品久久久| 日韩一级片免费在线观看| 亚洲国产精品一区二区久| 国产在线视频在线观看| 亚洲国产一区二区视频| 成人区人妻精品一区二| 成人av影院在线| 日本手机在线视频| 国产精品免费看| 欧美福利一区二区三区| 亚洲小说图片视频| 欧美一级电影久久| 成人做爰视频www网站小优视频| 亚洲欧美国产一区二区三区| 国产无套丰满白嫩对白| 在线免费观看成人短视频| 51妺嘿嘿午夜福利| 国产精品妹子av| 久久人人爽av| 国产精一区二区三区| 超碰97在线看| 在线欧美视频| 欧美日韩免费观看一区| 欧美hd在线| 亚洲伊人久久综合| 成人av影音| 日本久久久久久久久久久| 99re久久| 精品中文字幕在线观看| 免费看黄色一级视频| 日韩成人中文字幕| 天堂网一区二区| 欧美一区三区二区| 亚州国产精品视频| 欧美日韩一区二区在线观看| 伊人久久久久久久久久久久久久| 亚洲免费在线看| 欧美xxxx×黑人性爽| 久久精品欧美一区二区三区麻豆 | 91精品在线看| 羞羞影院体验区| 欧美日韩大陆一区二区| 国产无码精品视频| 欧美三日本三级三级在线播放| 毛片aaaaaa| 亚洲韩国精品一区| 五月天综合视频| 一个色在线综合| 成人午夜剧场视频网站| 日韩美女视频一区二区| 星空大象在线观看免费播放| 国产精品人成在线观看免费 | 国产高清在线一区| 国产午夜一区| 91中文字幕在线观看| 自拍偷拍欧美一区| 91亚洲永久免费精品| 欧美激情在线精品一区二区三区| 成人亚洲综合色就1024| 亚洲人成精品久久久| 99久久一区三区四区免费| 国产精品自拍区| 成人av电影免费| 日韩在线二区| 久久精品午夜一区二区福利| 影音先锋日韩在线| 欧美一级二级三级九九九| 欧美另类亚洲| 亚洲精品国产一区| 亚洲欧美日韩精品一区二区| 伊人久久在线观看| 久久国产尿小便嘘嘘| 少妇高潮喷水久久久久久久久久| 国产一区二区三区观看| 日韩免费高清在线| 972aa.com艺术欧美| 国产伦精品一区二区三区妓女下载 | 亚洲国产天堂| 欧美一级淫片播放口| 亚洲乱码一区| 91最新国产视频| 欧美国产一级| 亚欧洲精品在线视频免费观看| 亚洲成a人片77777精品| 久久99热99| 玩弄中年熟妇正在播放| 福利电影一区二区| 91欧美一区二区三区| 国产精品久久久久久久蜜臀| 91精彩刺激对白露脸偷拍| 午夜精品免费在线| 不卡的免费av| 精品国产一区二区三区av性色| 国产女人高潮的av毛片| www国产91| 日韩毛片网站| 国产一区二区色| 久久在线免费| 亚洲一区二区在线看| 久久成人久久爱| 午夜视频在线网站| 亚洲少妇30p| 欧美三级 欧美一级| 日韩欧美一区在线| 精品久久久免费视频| 欧美高清激情视频| 国产日韩三级| 国产精品视频一区二区三区经| 在线播放一区| 男人插女人视频在线观看| 91丨九色丨黑人外教| 久久美女免费视频| 欧美视频一区二区三区在线观看| 中文字幕第315页| 久久久精品久久| 欧美a在线观看| 狠狠色综合网站久久久久久久| 99香蕉国产精品偷在线观看 | 亚洲最新av在线| 成人精品国产| 成人欧美一区二区三区黑人孕妇 | 日韩美女免费视频| 成人午夜国产| 人人妻人人澡人人爽精品欧美一区| 国产精品1区二区.| 日本一级片在线播放| 91福利视频久久久久| 中文字幕人妻色偷偷久久| 欧美xxxx做受欧美.88| 美女午夜精品| 视频一区二区在线观看| 国产美女av一区二区三区| 精品无码av一区二区三区| 欧美午夜精品伦理| 在线观看视频二区| 国内精久久久久久久久久人| 精品国产乱码久久久久久1区2匹| 一区二区精品视频| 成人午夜视频在线观看| 一本加勒比北条麻妃| 91精品欧美久久久久久动漫| 人妻va精品va欧美va| 国产精品三级久久久久久电影| 国产字幕视频一区二区| 久久九九国产视频| 亚洲国产成人av| 免费看av在线| 高清欧美性猛交xxxx| 日韩免费视频|