服务器之家

服务器之家 > 正文

详解C# 中的正则表达式运用

时间:2022-01-10 14:28     来源/作者:孤者自清

C#正则验证大全 Regex.IsMatch()正则表达式验证

需要引入命名空间 using System.Text.RegularExpressions;  

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#region 验证文本框输入为数字
    /// <summary>
    /// 验证是不是数字(包含整数和小数)
    /// </summary>
    /// <param name="str"></param>
    /// <returns></returns>
    public static bool GetNum(string str)
    {
      return Regex.IsMatch(str, @"^[-]?\d+[.]?\d*$");
    }
    #endregion
    #region 验证文本框输入为整数
    /// <summary>
    /// 验证文本框输入为整数
    /// </summary>
    /// <param name="strNum">输入字符</param>
    /// <returns>返回一个bool类型的值</returns>
    public static bool validateNum(string strNum)
    {
      return Regex.IsMatch(strNum, "^[0-9]*$");
    }
    #endregion
    #region 验证文本框输入为日期
    /// <summary>
    /// 判断日期
    /// </summary>
    /// <param name="Date"></param>
    /// <returns></returns>
    public static bool IsValidDate(string Date)
    {
      //验证YYYY-MM-DD格式,基本上把闰年和2月等的情况都考虑进去
      bool bValid = Regex.IsMatch(Date, @"^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$");
      return (bValid && Date.CompareTo("1753-01-01") >= 0);
      //将平年和闰年的日期验证表达式合并,我们得到最终的验证日期格式为YYYY-MM-DD的正则表达式为:
      //(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|
      //[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-
      //(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|
      //(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|
      //[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)
    }
    #endregion
    #region 验证文本框输入为电子邮件
    //验证电子邮件
    public static bool IsValidEmail(string strIn)
    {
      return Regex.IsMatch(strIn, @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
    }
    #endregion
    #region 验证文本框输入为电话号码
    /// <summary>
    /// 验证文本框输入为电话号码
    /// </summary>
    /// <param name="strPhone">输入字符串</param>
    /// <returns>返回一个bool类型的值</returns>
    public static bool validatePhone(string strPhone)
    {
      return Regex.IsMatch(strPhone, @"\d{3,4}-\d{7,8}");
    }
    #endregion
    #region 验证文本框输入为传真号码
    /// <summary>
    /// 验证文本框输入为传真号码
    /// </summary>
    /// <param name="strFax">输入字符串</param>
    /// <returns>返回一个bool类型的值</returns>
    public static bool validateFax(string strFax)
    {
      return Regex.IsMatch(strFax, @"86-\d{2,3}-\d{7,8}");
    }
    #endregion
    #region 验证是否为ip
    //获取IP的字符串 HttpContext.Current.Request.UserHostAddress
    /// <summary>
    /// 是否为ip
    /// </summary>
    /// <param name="ip"></param>
    /// <returns></returns>
    public static bool IsIP(string ip)
    {
      return Regex.IsMatch(HttpContext.Current.Request.UserHostAddress, @"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$");
    }
    public static bool IsIPSect(string ip)
    {
      return Regex.IsMatch(HttpContext.Current.Request.UserHostAddress, @"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){2}((2[0-4]\d|25[0-5]|[01]?\d\d?|\*)\.)(2[0-4]\d|25[0-5]|[01]?\d\d?|\*)$");
    }
    #endregion
    #region 验证字符串是否是yy-mm-dd字符串
    /// <summary>
    /// 判断字符串是否是yy-mm-dd字符串
    /// </summary>
    /// <param name="str"></param>
    /// <returns></returns>
    public static bool IsDateString(string str)
    {
      return Regex.IsMatch(str, @"(\d{4})-(\d{1,2})-(\d{1,2})");
    }
    #endregion

以上所述是小编给大家介绍的C# 中的正则表达式运用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://www.cnblogs.com/Liyuting/archive/2017/06/19/7048626.html

标签:

相关文章

热门资讯

蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部

899
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40