zoukankan      html  css  js  c++  java
  • Code-Validator:验证IPv6地址

    ylbtech-Code-Validator:验证IPv6地址
    1.返回顶部
    1、
    using System;
    using System.Text.RegularExpressions;
    
    namespace Sp.Common
    {
        public class ValidatorHelper
        {
            /// <summary>  
            /// 验证IPv6地址  
            /// [可用于匹配任何一个合法的IPv6地址]  
            /// </summary>  
            /// <param name="input">待验证的字符串</param>  
            /// <returns>是否匹配</returns>  
            public static bool IsIPv6(string input)
            {
                string pattern = @"^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*$";
                return IsMatch(input, pattern);
            }
    
            #region 匹配方法  
            /// <summary>  
            /// 验证字符串是否匹配正则表达式描述的规则  
            /// </summary>  
            /// <param name="inputStr">待验证的字符串</param>  
            /// <param name="patternStr">正则表达式字符串</param>  
            /// <returns>是否匹配</returns>  
            public static bool IsMatch(string inputStr, string patternStr)
            {
                return IsMatch(inputStr, patternStr, false, false);
            }
    
            /// <summary>  
            /// 验证字符串是否匹配正则表达式描述的规则  
            /// </summary>  
            /// <param name="inputStr">待验证的字符串</param>  
            /// <param name="patternStr">正则表达式字符串</param>  
            /// <param name="ifIgnoreCase">匹配时是否不区分大小写</param>  
            /// <returns>是否匹配</returns>  
            public static bool IsMatch(string inputStr, string patternStr, bool ifIgnoreCase)
            {
                return IsMatch(inputStr, patternStr, ifIgnoreCase, false);
            }
    
            /// <summary>  
            /// 验证字符串是否匹配正则表达式描述的规则  
            /// </summary>  
            /// <param name="inputStr">待验证的字符串</param>  
            /// <param name="patternStr">正则表达式字符串</param>  
            /// <param name="ifValidateWhiteSpace">是否验证空白字符串</param>  
            /// <returns>是否匹配</returns>  
            public static bool IsMatch1(string inputStr, string patternStr, bool ifValidateWhiteSpace)
            {
                return IsMatch(inputStr, patternStr, false, ifValidateWhiteSpace);
            }
    
            /// <summary>  
            /// 验证字符串是否匹配正则表达式描述的规则  
            /// </summary>  
            /// <param name="inputStr">待验证的字符串</param>  
            /// <param name="patternStr">正则表达式字符串</param>  
            /// <param name="ifIgnoreCase">匹配时是否不区分大小写</param>  
            /// <param name="ifValidateWhiteSpace">是否验证空白字符串</param>  
            /// <returns>是否匹配</returns>  
            public static bool IsMatch(string inputStr, string patternStr, bool ifIgnoreCase, bool ifValidateWhiteSpace)
            {
                if (!ifValidateWhiteSpace && string.IsNullOrEmpty(inputStr))
                    return false;//如果不要求验证空白字符串而此时传入的待验证字符串为空白字符串,则不匹配  
                Regex regex = null;
                if (ifIgnoreCase)
                    regex = new Regex(patternStr, RegexOptions.IgnoreCase);//指定不区分大小写的匹配  
                else
                    regex = new Regex(patternStr);
                return regex.IsMatch(inputStr);
            }
            #endregion
        }
    }
    2、
    2.返回顶部
     
    3.返回顶部
     
    4.返回顶部
     
    5.返回顶部
     
     
    6.返回顶部
     
    warn 作者:ylbtech
    出处:http://ylbtech.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Java静态分派与动态分派(二)
    重载和重写在jvm运行中的区别(一)
    startActivity启动过程分析(转)
    进程篇—进程整理(转)
    理解Android线程创建流程(转)
    Android进程绝杀技--forceStop(转)
    说说Android应用的persistent属性(转)
    Android四大组件与进程启动的关系(转)
    转: 安卓自动缩放布局,解决屏幕适配问题
    转: android apk 防止反编译技术(1~5连载)
  • 原文地址:https://www.cnblogs.com/storebook/p/12685743.html
Copyright © 2011-2022 走看看