NET C/S 如何使用正册表达式

转载 2007年09月13日 16:31:00
 class VilControl
    {
        /// <summary>
        /// 判断是否被未空
        /// </summary>
        /// <returns>为空返回false</returns>
        public static bool IsNull(string syllable)
        {
            if (syllable.Trim() == "") //判断是否为空输入
            {
                return false;
            }

            return true;
        }

        /// <summary>
        /// 验证字符串是否合法
        /// </summary>
        /// <param name="syllable">需验证字符串</param>
        /// <param name="regex">正则表达式</param>
        /// <returns></returns>
        private static bool RegexOperation(string syllable, string regex)
        {
            //正则表达式的枚举类型
            System.Text.RegularExpressions.RegexOptions options = (
                (System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace |
                System.Text.RegularExpressions.RegexOptions.Multiline) |
                System.Text.RegularExpressions.RegexOptions.IgnoreCase);

            //加载正则表达式到枚举类型上
            System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(regex, options);

            //返回验证结果
            return reg.IsMatch(syllable);
        }

        /// <summary>
        /// 判断密码是否超出长度(6~16)
        /// </summary>
        /// <returns>超长返回false</returns>
        public static bool IsLong(string syllable)
        {
            if (!IsNull(syllable)) //判断是否为空输入
            {
                return false;
            }

            bool problem = true;

            if (syllable.Length > 16 || syllable.Length < 6) //判断是否符合密码位数
            {
                return problem = false;
            }
            return problem;
        }

        /// <summary>
        /// 年龄(长度/整数)(1~110)
        /// </summary>
        /// <returns>不正确返回false</returns>
        public static bool IsAge(string syllable)
        {
            if (!IsNull(syllable)) //判断是否为空输入
            {
                return false;
            }

            if ((Convert.ToInt32(syllable) > 110 || Convert.ToInt32(syllable) < 1))//判断长度
            {
                return false;
            }

            string regex = "^[0-9]{1,}$"; //判断为数字

            return RegexOperation(syllable, regex);
        }

        /// <summary>
        /// 是否符合电话号码的要求(3-8,4-7,11)
        /// </summary>
        /// <returns>不符合返回false</returns>
        public static bool IsPhone(string syllable)
        {
            //判断是否为空输入
            if (!IsNull(syllable))
            {
                return false;
            }

            //正则表达式
            string regex = @"/d{3}-/d{8}|/d{4}-/d{7}|/d{11}";

            //返回验证结果
            return RegexOperation(syllable, regex);
        }
   

        /// <summary>
        /// 是否符合日期的要求(2002-02-02)
        /// </summary>
        /// <returns>不符合返回false</returns>
        public static bool IsDay(string syllable)
        {
            //判断是否为空输入
            if (!IsNull(syllable))
            {
                return false;
            }

            //正则表达式
            string regex = @"^((((1[6-9]|[2-9]/d)/d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]/d|3[01]))|(((1[6-9]|[2-9]/d)/d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]/d|30))|(((1[6-9]|[2-9]/d)/d{2})-0?2-(0?[1-9]|1/d|2[0-8]))|(((1[6-9]|[2-9]/d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$";

            //返回验证结果
            return RegexOperation(syllable, regex);
        }

        /// <summary>
        /// 是否符合电子邮件的要求
        /// </summary>
        /// <returns>不符合返回false</returns>
        public static bool IsE_Mail(string syllable)
        {
            //判断是否为空输入
            if (!IsNull(syllable))
            {
                return false;
            }

            //正则表达式
            string regex = @"/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*";

            //返回验证结果
            return RegexOperation(syllable, regex);
        }

        /// <summary>
        /// 由数字和26个英文字母或者下划线组成的字符串
        /// </summary>
        /// <param name="strVerify"></param>
        /// <returns></returns>
        public static bool StrVerify(string syllable)
        {
            //判断是否为空输入
            if (!IsNull(syllable))
            {
                return false;
            }

            string regex = @"^/w+$";
            return RegexOperation(syllable, regex);
        }

        /// <summary>
        /// 只能输入有1~3位小数的正实数
        /// </summary>
        /// <param name="strVerify"></param>
        /// <returns></returns>
        public static bool NumDec(string syllable)
        {
            //判断是否为空输入
            if (!IsNull(syllable))
            {
                return false;
            }

            //正则表达式
            string regex = @"^[0-9]+(.[0-9]{1,3})?$";

            //返回验证结果
            return RegexOperation(syllable, regex);
        }

        /// <summary>
        /// 以字母开头,长度在6到18,只能包含字符、数字和下划线
        /// </summary>
        /// <param name="strVerify"></param>
        /// <returns></returns>
        public static bool StrVerifyStart(string syllable)
        {
            //判断是否为空输入
            if (!IsNull(syllable))
            {
                return false;
            }

            //正则表达式
            string regex = @"^[a-zA-Z]/w{5,17}$";

            //返回验证结果
            return RegexOperation(syllable, regex);
        }
    }

相关文章推荐

使用LoadRunner测试.Net平台C/S程序

http://blog.163.com/lilanping_love/blog/static/5128129920104594319595 写在前面:要使用LoadRunner来测试.Net...

利用正则表达式解析(1+3*m+s*b+c*v)^3

1、问题描述 把(1+3*m+s*b+c*v)^3的表达式化简为形如(1+3*m+s*b+c*v)*(1+3*m+s*b+c*v)*(1+3*m+s*b+c*v)的格式。 ps:这个问题是我在别人的...

C/S通讯,关于java.net.SocketTimeoutException:Read time out:错误

最近的超时异常在整理的文档中找到了,一并分享。 为什么会产生java.net.SocketTimeoutException: Read timed out: 产生此问题的根本原因是客户端在发送请求...

Csla.net 分布式应用程序、采用对象工厂、登录功能演示 C/S模式

转载请注明出处谢谢, csdn , badboy518 最近学习clsa.net ,遇到了很多问题,自己也解决了很多问题,在网上极难找到完整、清晰的解决方案,在查阅了很多资料后,我决定整理一下,将自...

主表明细表.net智能实现(c/s效果)

主表和明细表输入在B/S下一直不尽人意,本人在以前开源的CRM中提供了通过session实现主表明细表跟C/S效果相近的功能, 考虑到服务器压力和资源占用情况,目前要就出一种通过viewstate来实...

log4net配置(转自 http://blog.sina.com.cn/s/blog_6d1c583c01010tf3.html )

1、概述 log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。本文主要是介绍如何在Visual ...
  • wky1709
  • wky1709
  • 2014年10月17日 10:31
  • 516

java程序 NET C/S TCP UDP

  • 2011年12月28日 20:27
  • 107KB
  • 下载

自动生成器 .NET C/S程序

  • 2010年07月26日 11:51
  • 163KB
  • 下载

OA中总结:s:select,关于使用modelDriven,项目分层,@Transactional,jspf,各个层上配置注解交给spring管理的方法,简单的OGNL表达式写法

%  list:需要进行迭代的list集合  listKey:需要提交的值  listValue:需要在页面上显示的值 ============================ 优化 1.Actio...

.NET架构源码(C/S版ORM)

  • 2011年12月09日 12:52
  • 1.29MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NET C/S 如何使用正册表达式
举报原因:
原因补充:

(最多只允许输入30个字)