C#正则表达式验证

Posted

tags:

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

public class VerifyUtil
    {
        /// <summary>
        /// 判断输入的字符串只包含汉字
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public static bool IsChineseCh(string input)
        {
            return Regex.IsMatch(input,@"^[\u4e00-\u9fa5]+$");
        }

        /// <summary>
        /// 匹配3位或4位区号的电话号码,其中区号可以用小括号括起来,
        /// 也可以不用,区号与本地号间可以用连字号或空格间隔,
        /// 也可以没有间隔
        /// \(0\d{2}\)[- ]?\d{8}|0\d{2}[- ]?\d{8}|\(0\d{3}\)[- ]?\d{7}|0\d{3}[- ]?\d{7}
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public static bool IsPhone(string input)
        {
            string pattern = "^\\(0\\d{2}\\)[- ]?\\d{8}$|^0\\d{2}[- ]?\\d{8}$|^\\(0\\d{3}\\)[- ]?\\d{7}$|^0\\d{3}[- ]?\\d{7}$";
            return Regex.IsMatch(input,pattern);
        }

        /// <summary>
        /// 判断输入的字符串是否是一个合法的手机号
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public static bool IsMobilePhone(string input)
        {
            return Regex.IsMatch(input, @"^1{3,5,8}\\d{9}$");
        }
        /// <summary>
        /// 判断输入的字符串只包含数字
        /// 可以匹配整数和浮点数
        /// ^-?\d+$|^(-?\d+)(\.\d+)?$
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public static bool IsNumber(string input)
        {
            string pattern = @"^-?\d+$|^(-?\d+)(\.\d+)?$";
            return Regex.IsMatch(input, pattern);
        }

        /// <summary>
        /// 判断输入的字符串是否是一个合法的Email地址
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public static bool IsEmail(string input)
        {
            string pattern = @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";
            return Regex.IsMatch(input, pattern);
        }

        /// <summary>
        /// 判断输入的字符串是否是一个超链接
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public static bool IsURL(string input)
        {
            string pattern = @"^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$";
            return Regex.IsMatch(input,pattern);
        }

    }

 

以上是关于C#正则表达式验证的主要内容,如果未能解决你的问题,请参考以下文章

C# - 使用正则表达式验证电话号码

C# 中使用正则表达式验证电话号码手机号身份证号

asp.net 使用正则表达式验证包含打开/关闭括号片段的属性字符串

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

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

C# 正则表达式验证器验证