C#正则校验

/********************************
 Author: Ricard.M.Tan 
 CreateTime: 2020/4/2 16:14:58
********************************/
using System.Text.RegularExpressions;

namespace ChnGZ.Paradise {
    public class RegexValidHelper {
        /// <summary>
        /// 校验日期
        /// </summary>
        /// <param name="datestring"></param>
        /// <returns></returns>
        public static bool IsValidDate(string datestring) {
            string pattern = @"^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[1-9])|(1[0-2]))\:([0-5][0-9])((\s)|(\:([0-5][0-9])\s))([AM|PM|am|pm]{2,2})))?$";
            return Regex.IsMatch(datestring, pattern);
        }
        /// <summary>
        /// 校验邮箱
        /// </summary>
        /// <param name="strIn"></param>
        /// <returns></returns>
        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})(\]?)$");
        }
        /// <summary>
        /// 校验IP
        /// </summary>
        /// <param name="ip"></param>
        /// <returns></returns>
        public static bool IsValidIP(string ip) {
            return Regex.IsMatch(ip, @"(?<![\d\.])((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)(?![\d\.])");
        }
        /// <summary>
        /// 校验电话号码
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public static bool IsValidMobile(string input) {
            return Regex.IsMatch(input, @"^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$");
        }
        /// <summary>
        /// 校验数字
        /// </summary>
        /// <param name="strIn"></param>
        /// <returns></returns>
        public static bool IsValidNumber(string strIn) {
            return Regex.IsMatch(strIn, @"^-?\d+$");
        }
        /// <summary>
        /// 校验是否为Windows SSPI
        /// </summary>
        /// <param name="connectionstring"></param>
        /// <returns></returns>
        public static bool IsWindowsSSPI(string connectionstring) {
            Regex regex = new Regex(@"Integrated Security=(?<sspi>\w+);*");
            return (regex.Match(connectionstring).Result("${sspi}") == "SSPI");
        }
        /// <summary>
        /// 匹配密码
        /// </summary>
        /// <param name="connectionstring"></param>
        /// <returns></returns>
        public static string MatchPassword(string connectionstring) {
            Regex regex = new Regex(@"Password=(?<passwsd>\w+);?");
            return regex.Match(connectionstring).Result("${passwsd}");
        }
        /// <summary>
        /// 匹配协议端口
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        public static string MatchProtocolPort(string url) {
            Match match = new Regex(@"^(?<proto>\w+)://[^/]+?(?<port>:\d+)?/", RegexOptions.Compiled).Match(url);
            if (match.Success) {
                return match.Result("${proto}${port}");
            }
            return string.Empty;
        }
    }
}

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值