C# 校验方法

       

 /// 
        /// 字符串长度校验和为空校验
        /// 
        /// 要校验的字符串
        /// 字符串的含义
        /// 错误信息
        /// 长度
        /// 是否需要为空校验  默认需要
        /// True 成功 Flase 失败
        public static bool CheckStr(string checkStr, string checkName, out string message, int len = 0, bool checkEmpty = true)
        {
            message = string.Empty;

            bool bolOk = false;

            try
            {
                if (string.IsNullOrWhiteSpace(checkStr) && checkEmpty == true)
                {
                    message = "您必须输入" + checkName + "!";
                    bolOk = false;
                }
                else
                {
                    if (checkStr.Length > len && len != 0)
                    {
                        message = "您必须输入" + checkName + "已经超过" + len + "字符,请重新输入!";
                        return false;
                    }
                    bolOk = true;
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteExceptionLog(typeof(CheckMessageClass), ex.Message);
            }
            return bolOk;
        }



/// 
        /// 时间校验
        /// 
        /// 要校验的字符串
        /// 字符串的含义
        /// 错误信息
        /// True 成功 Flase 失败
        public static bool CheckDateTime(string checkStr, string checkName, out string message)
        {
            DateTime dt;
            message = string.Empty;

            try
            {
                if (DateTime.TryParse(checkStr, out dt) == false)
                {
                    message = "您输入的" + checkName + "不是正确的时间格式,请重新输入!";
                    return false;
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteExceptionLog(typeof(CheckMessageClass), ex.Message);
            }
            return true;
        }



 /// 
        /// 数字校验
        /// 
        /// 要校验的字符串
        /// 字符串的含义
        /// 错误信息
        /// True 成功 Flase 失败
        public static bool CheckInt(string checkStr, string checkName, out string message)
        {
            int intRes = 0;
            message = "";
            try
            {
                if (int.TryParse(checkStr, out intRes) == false)
                {
                    message = "您输入的" + checkName + "不是数字,请重新输入!";
                    return false;
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteExceptionLog(typeof(CheckMessageClass), ex.Message);
            }
            return true;
        }



 /// 
        /// 手机号码校验
        /// 移动号码段:139、138、137、136、135、134、150、151、152、157、158、159、182、183、187、188、147
        /// 联通号码段:130、131、132、136、185、186、145
        /// 电信号码段:133、153、180、189
        /// 
        /// 要校验的字符串
        /// 字符串的含义
        /// 错误信息
        /// True 成功 Flase 失败
        public static bool CheckPhone(string checkStr, string checkName, out string message)
        {
            double num = 0;
            message = string.Empty;
            bool bolOK = false;
            try
            {
                if (double.TryParse(checkStr, out num) && checkStr.Length <= 12)
                {
                    bolOK = true;
                }
                else
                {
                    message = "您输入的" + checkName + "不是正确的手机号,请重新输入!";
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteExceptionLog(typeof(CheckMessageClass), ex.Message);
            }
            return bolOK;
        }



 /// 
        /// 固定电话校验
        /// 
        /// 要校验的字符串
        /// 字符串的含义
        /// 错误信息
        /// True 成功 Flase 失败
        public static bool CheckTel(string checkStr, string checkName, out string message)
        {
            double num = 0;
            message = string.Empty;
            bool bolOK = false;
            try
            {
                if (double.TryParse(checkStr, out num) && checkStr.Length <= 12)
                {
                    bolOK = true;
                }
                else
                {
                    message = "您输入的" + checkName + "不是正确的电话号码,请重新输入!";
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteExceptionLog(typeof(CheckMessageClass), ex.Message);
            }
            return bolOK;
        }



 /// 
        /// 邮箱校验
        /// 
        /// 要校验的字符串
        /// 字符串的含义
        /// 错误信息
        /// True 成功 Flase 失败
        public static bool CheckEmail(string checkStr, string checkName, out string message)
        {
            message = string.Empty;
            try
            {
                if (Regex.IsMatch(checkStr, @"\w{1,}@\w{1,}\.\w{1,}") == false)
                {
                    message = "您输入的" + checkName + "不是正确的邮箱地址,请重新输入!";
                    return false;
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteExceptionLog(typeof(CheckMessageClass), ex.Message);
            }
            return true;
        }



/// 
        /// 身份证号校验
        /// 
        /// 要校验的字符串
        /// 字符串的含义
        /// 错误信息
        /// True 成功 Flase 失败
        public static bool CheckIdCard(string checkStr, string checkName, out string message)
        {
            message = string.Empty;
            try
            {
                if ((!Regex.IsMatch(checkStr, @"^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$", RegexOptions.IgnoreCase)))
                {
                    message = "您输入的" + checkName + "不是正确的身份证号码,请重新输入!";
                    return false;
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteExceptionLog(typeof(CheckMessageClass), ex.Message);
            }
            return true;
        }





 /// 
        /// 邮编校验
        /// 
        /// 要校验的字符串
        /// 字符串的含义
        /// 错误信息
        /// True 成功 Flase 失败
        public static bool CheckPostalCode(string checkStr, string checkName, out string message)
        {
            message = string.Empty;

            try
            {
                if (Regex.IsMatch(checkStr, @"^\d{6}$") == false)
                {
                    message = "您输入的" + checkName + "不是正确的邮编地址,请重新输入!";
                    return false;
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteExceptionLog(typeof(CheckMessageClass), ex.Message);
            }
            return true;
        }



/// 
        /// 检验密码
        /// 
        /// 原始密码
        /// 输入的密码
        /// 新密码
        /// 新密码第二次输入
        /// 返回的错误消息
        /// True 成功 Flase 失败
        public static bool CheckPwd(string pwd, string write_pwd, string new_pwd, string new_pwd_two, out string message)
        {
            bool bolOK = false;

            message = string.Empty;
            try
            {
                var regex = new Regex(@"(?=.*[0-9])(?=.*[a-zA-Z])(?=([\x21-\x7e]+)[^a-zA-Z0-9]).{8,30}", RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);
                //校验原始密码是否输入正确
                if (string.IsNullOrWhiteSpace(pwd) || string.IsNullOrWhiteSpace(write_pwd) || pwd !=write_pwd)
                {
                    message = "原密码输入不正确!";
                }
                //校验新旧密码是否一致
                else if (string.IsNullOrWhiteSpace(pwd) || string.IsNullOrWhiteSpace(new_pwd) || pwd.Equals(new_pwd))
                {
                    message = "新旧密码不能相同!";
                }
                //校验新密码两次输入是否一直
                else if (string.IsNullOrWhiteSpace(new_pwd) || string.IsNullOrWhiteSpace(new_pwd_two) || !new_pwd.Equals(new_pwd_two))
                {
                    message = "新密码输入不一致!";
                }
                //校验新密码长度是否符合标准
                else if (new_pwd.Length<6)
                {
                    message = "新密码的长度必须能大于6位!";
                }
                else
                {
                    bolOK = true;
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteExceptionLog(typeof(CheckMessageClass), ex.Message);
            }
            return bolOK;
        }

你可能感兴趣的:(算法,c#,经验分享)