zoukankan      html  css  js  c++  java
  • RegexHelper

    using System;
    using System.Text.RegularExpressions;
    
    
    public partial class RegexEx
    {
        /// <summary>
        /// 验证输入字符串是否与模式字符串匹配,匹配返回true
        /// </summary>
        /// <param name="input">输入字符串</param>
        /// <param name="pattern">模式字符串</param>        
        public static bool IsMatch(string input, string pattern)
        {
            return IsMatch(input, pattern, RegexOptions.IgnoreCase);
        }
    
        /// <summary>
        /// 验证输入字符串是否与模式字符串匹配,匹配返回true
        /// </summary>
        /// <param name="input">输入的字符串</param>
        /// <param name="pattern">模式字符串</param>
        /// <param name="options">筛选条件</param>
        public static bool IsMatch(string input, string pattern, RegexOptions options)
        {
            return System.Text.RegularExpressions.Regex.IsMatch(input, pattern, options);
        }
    
        public static bool IsDecimal(string str)
        {
            return IsMatch(str, @"^(-?d+)(.d+)?$", RegexOptions.None);
        }
    
        public static bool IsNumber(string str)
        {
            return IsMatch(str, @"^-?d+$|^(-?d+)(.d+)?$", RegexOptions.None);
        }
    
        public static bool IsInteger(string str)
        {
            return IsMatch(str, @"^-?d+$", RegexOptions.None);
        }
    
        public static bool IsChinese(string str)
        {
            //@"[u4e00-u9fa5]"
            return IsMatch(str, @"^[u4e00-u9fa5]{0,}$", RegexOptions.None);
        }
        public static bool IsEngAndNumber(string str)
        {
            return IsMatch(str, @"^[A-Za-z0-9]+$", RegexOptions.None);
        }
        public static bool IsEngLetter(string str)
        {
            return IsMatch(str, @"^[A-Za-z]+$", RegexOptions.None);
        }
        public static bool IsMail(string str)
        {
            return IsMatch(str, @"^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$", RegexOptions.None);
        }
        public static bool IsDoamin(string str)
        {
            return IsMatch(str, @"[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?", RegexOptions.None);
        }
        public static bool IsUrl(string str)
        {
            return IsMatch(str, @"[a-zA-z]+://[^s]* 或 ^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$", RegexOptions.None);
        }
        public static bool IsDateTime(string str)
        {
            System.DateTime dt;
            return System.DateTime.TryParse(str, out dt);
        }
        public static bool IsIPv4(string str)
        {
            return IsMatch(str, @"^(25[0-4]|2[0-4]d]|[01]?d{2}|[1-9]).(25[0-5]|2[0-4]d]|[01]?d?d).(25[0-5]|2[0-4]d]|[01]?d?d).(25[0-4]|2[0-4]d]|[01]?d{2}|[1-9])$", RegexOptions.None);
        }
        public static bool IsIPv6(string str)
        {
            return IsMatch(str, @"^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*$", RegexOptions.None);
        }
    
        public static string GetUrlDomain(string url)
        {
            string p = @"(http|https)://(?<domain>[^(:|/]*)";
            System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(p, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            System.Text.RegularExpressions.Match m = reg.Match(url);
            return m.Groups["domain"].Value;
        }
    
        public static string[] Split(string str, string pattern)
        {
            return System.Text.RegularExpressions.Regex.Split(str, Environment.NewLine,
                System.Text.RegularExpressions.RegexOptions.IgnoreCase);
        }
    
    }
  • 相关阅读:
    MJExtension的一些实用技巧
    SDWebImage第三方库使用注意的一些问题
    按钮控件里面的间距问题
    C#实现全窗体范围拖动
    在 C# 中使用文件名启动应用程序
    BOM设计的一些问题及解决方案探讨----合版BOM
    用ASPOSE.Cells将HTML表格存为Excel
    PPT文件太大时可以考虑另存为PPTX格式
    不小心装了个瑞星
    ERP实施顾问--理解客户的解决方案与实际需求
  • 原文地址:https://www.cnblogs.com/honk/p/14461223.html
Copyright © 2011-2022 走看看