利用正则表达式 进行字符的判断

Posted 潇湘子6210

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用正则表达式 进行字符的判断相关的知识,希望对你有一定的参考价值。

【转】http://blog.csdn.net/dingxiaowei2013/article/details/8571757

  1 using System;
  2 using System.Text.RegularExpressions;
  3 using System.NET;
  4 
  5 namespace 正则表达式检测字符串
  6 {
  7     class Program
  8     {
  9         static void Main(string[] args)
 10         {
 11             
 12             Console.WriteLine("请输入字符串:");
 13             string s = Console.ReadLine();
 14             if (GF_IsOk.IsExistHanZi(s))
 15             {
 16                 Console.Write("包含汉字");
 17             }
 18             else
 19             {
 20                 Console.Write("不包含汉字");
 21             }
 22             Console.ReadLine();
 23         }
 24     }
 25     //判断部分
 26     public class GF_IsOk
 27     {
 28         /// <summary>
 29         /// 判读是否是IP地址
 30         /// </summary>
 31         /// <param name="in_str"></param>
 32         /// <returns></returns>
 33         public static bool IsIPStr(string in_str)
 34         {
 35             IPAddress ip;
 36             return IPAddress.TryParse(in_str, out ip);
 37         }
 38 
 39         /// <summary>
 40         /// 判断是否是数字
 41         /// </summary>
 42         /// <param name="strNumber"></param>
 43         /// <returns></returns>
 44         public static bool IsNumber(string strNumber)
 45         {
 46 
 47             Regex objNotNumberPattern = new Regex("[^0-9.-]");
 48             Regex objTwoDotPattern = new Regex("[0-9]*[.][0-9]*[.][0-9]*");
 49             Regex objTwoMinusPattern = new Regex("[0-9]*[-][0-9]*[-][0-9]*");
 50             String strValidRealPattern = "^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$";
 51             String strValidIntegerPattern = "^([-]|[0-9])[0-9]*$";
 52             Regex objNumberPattern = new Regex("(" + strValidRealPattern + ")|(" + strValidIntegerPattern + ")");
 53             return !objNotNumberPattern.IsMatch(strNumber) &&
 54                    !objTwoDotPattern.IsMatch(strNumber) &&
 55                    !objTwoMinusPattern.IsMatch(strNumber) &&
 56                    objNumberPattern.IsMatch(strNumber);
 57         }
 58 
 59         /// <summary>
 60         ///  判断是否是日期字符串
 61         /// </summary>
 62         /// <param name="in_str"></param>
 63         /// <returns></returns>
 64         public static bool IsDateStr_yyyymmdd(string in_str)
 65         {
 66             if (in_str == "") return true;
 67             if (in_str.Length != 8) return false;
 68             return IsDateStr(in_str);
 69         }
 70 
 71         /// <summary>
 72         /// 判断是否是日期字符串
 73         /// </summary>
 74         /// <param name="in_str"></param>
 75         /// <returns></returns>
 76         public static bool IsDateStr(string in_str)
 77         {
 78             if (in_str == "") return true;
 79             if (in_str.Length == 8)
 80                 in_str = in_str.Substring(0, 4) + "-" + in_str.Substring(4, 2) + "-" + in_str.Substring(6, 2);
 81             DateTime dtDate;
 82             bool bValid = true;
 83             try
 84             {
 85                 dtDate = DateTime.Parse(in_str);
 86             }
 87             catch (FormatException)
 88             {
 89                 // 如果解析方法失败则表示不是日期性数据
 90                 bValid = false;
 91             }
 92             return bValid;
 93         }
 94 
 95         /// <summary>
 96         /// 判断字符串中是否包含汉字,有返回true 否则为false
 97         /// </summary>
 98         /// <param name="str"></param>
 99         /// <returns></returns>
100         public static bool IsExistHanZi(string str)
101         {
102             Regex reg = new Regex(@"[\u4e00-\u9fa5]");//正则表达式
103             if (reg.IsMatch(str))
104             {
105                 return true;
106             }
107             else
108             {
109                 return false;
110             }
111         }
112 
113 
114         /// <summary>
115         /// 字段串是否为Null或为""(空)
116         /// </summary>
117         /// <param name="str"></param>
118         /// <returns></returns>
119         public static bool IsStrNullOrEmpty(string str)
120         {
121             if (str == null || str.Trim() == string.Empty)
122                 return true;
123 
124             return false;
125         }
126 
127         /// <summary>
128         /// 返回文件是否存在
129         /// </summary>
130         /// <param name="filename">文件名</param>
131         /// <returns>是否存在</returns>
132         public static bool IsFileExists(string filename)
133         {
134             return System.IO.File.Exists(filename);
135         }
136 
137 
138         /// <summary>
139         /// 检测是否符合email格式
140         /// </summary>
141         /// <param name="strEmail">要判断的email字符串</param>
142         /// <returns>判断结果</returns>
143         public static bool IsValidEmail(string strEmail)
144         {
145             return Regex.IsMatch(strEmail, @"^[\w\.]+([-]\w+)*@[A-Za-z0-9-_]+[\.][A-Za-z0-9-_]");
146         }
147 
148         public static bool IsValidDoEmail(string strEmail)
149         {
150             return Regex.IsMatch(strEmail, @"^@((
151 
152 [0?9]1,3\.[0?9]1,3\.[0?9]1,3\.)|(([\w?]+\.)+))([a?zA?Z]2,4|[0?9]1,3)(
153 ?)$");
154         }
155         /// <summary>
156         /// 检测是否是正确的Url
157         /// </summary>
158         /// <param name="strUrl">要验证的Url</param>
159         /// <returns>判断结果</returns>
160         public static bool IsURL(string strUrl)
161         {
162             return Regex.IsMatch(strUrl, @"^(http|https)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{1,10}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\‘\\\+&%\$#\=~_\-]+))*$");
163         }
164 
165  
166 
167         /// <summary>
168         /// 判断是否为base64字符串
169         /// </summary>
170         /// <param name="str"></param>
171         /// <returns></returns>
172         public static bool IsBase64String(string str)
173         {
174             //A-Z, a-z, 0-9, +, /, =
175             return Regex.IsMatch(str, @"[A-Za-z0-9\+\/\=]");
176         }
177 
178         /// <summary>
179         /// 检测是否有Sql危险字符
180         /// </summary>
181         /// <param name="str">要判断字符串</param>
182         /// <returns>判断结果</returns>
183         public static bool IsSafeSqlString(string str)
184         {
185             return !Regex.IsMatch(str, @"[-|;|,|\/|||
186 
187 |
188 |\}|\{|%|@|\*|!|\‘]");
189         }
190     }
191 }

 

以上是关于利用正则表达式 进行字符的判断的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式

正则表达式

如何用正则表达式修改图片路径?

正则表达式

通过 Java 正则表达式提取 semver 版本字符串的片段

一个利用正则表达式进行代码重构,去除冗余代码的例子