| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1948 人关注过本帖
标题:textbox输入的日期与Email地址如何验证有效?
只看楼主 加入收藏
williamweng
Rank: 1
等 级:新手上路
帖 子:34
专家分:2
注 册:2010-10-7
结帖率:83.33%
收藏
已结贴  问题点数:10 回复次数:4 
textbox输入的日期与Email地址如何验证有效?
我只知道用DateTime,但是怎么验证日期是有效的?
DateTime MyDate = new DateTime(e.KeyChar);
String MyString = MyDate.ToString("yyyy/MM/dd");

还有有效的邮箱地址,怎么判断输入语句中有且只有一个@和一个.啊?
搜索更多相关主题的帖子: Email地址 如何 
2012-02-18 13:19
tanghuawei
Rank: 4
来 自:美丽的湖南
等 级:业余侠客
威 望:3
帖 子:531
专家分:220
注 册:2006-3-16
收藏
得分:10 
使用正则表达式啊
程序代码:
/// <summary>
        /// 方法说明:验证日期时间否有效
        /// </summary>
        private void button1_Click(object sender, EventArgs e)
        {
            if (RegexDateTimeValid(textBox1.Text.Trim()))
            {
                MessageBox.Show("Match");
            }
            else
            {
                MessageBox.Show("No Match");
            }
        }

        /// <summary>
        /// 方法说明:验证邮箱是否有效
        /// </summary>
        private void button2_Click(object sender, EventArgs e)
        {
            if (RegexMailValid(textBox1.Text.Trim()))
            {
                MessageBox.Show("Match");
            }
            else
            {
                MessageBox.Show("No Match");
            }
        }

        /// <summary>
        /// 方法说明:验证日期时间是否有效
        /// </summary>
        /// <param name="str">需要验证的字符串</param>
        /// <returns>True/False</returns>
        private bool RegexDateTimeValid(string str)
        {
            /*
             可以匹配如下格式
            12:30 PM
            2012-02-18
            2012/2/18 02:31:35
            2012-02-18 15:44:45
            2012/2/12 02:31:35 AM

            */
            string match = @"^(?ni:(?=\d)((?'year'((1[6-9])|([2-9]\d))\d\d)(?'sep'[/.-])(?'month'0?[1-9]|1[012])\2(?'day'((?<!(\2((0?[2469])|11)\2))31)|(?<!\2(0?2)\2)(29|30)|((?<=((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(16|[2468][048]|[3579][26])00)\2\3\2)29)|((0?[1-9])|(1\d)|(2[0-8])))(?:(?=\x20\d)\x20|$))?((?<time>((0?[1-9]|1[012])(:[0-5]\d){0,2}(\x20[AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2}))?)$";

            if (Regex.IsMatch(str, match))
            {
                return true;
            }
            else
            {               
                return false;
            }
        }

        /// <summary>
        /// 方法说明:验证邮箱是否有效
        /// </summary>
        /// <param name="str">需要验证的字符串</param>
        /// <returns>True/False</returns>
        private bool RegexMailValid(string str)
        {
            string match = @"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$";
            if (Regex.IsMatch(str, match))
            {
                return true;
            }
            else
            {
                return false;
            }
        }     


汽车尾气检测网络系统QQ:357766186__MSN:MSNTHW19850316@
2012-02-18 14:25
williamweng
Rank: 1
等 级:新手上路
帖 子:34
专家分:2
注 册:2010-10-7
收藏
得分:0 
回复 2楼 tanghuawei
弱弱的问一下,这里的Regex为什么在我的程序里会报错?是我没有加 using  什么什么的原因吗?
2012-02-18 19:26
tanghuawei
Rank: 4
来 自:美丽的湖南
等 级:业余侠客
威 望:3
帖 子:531
专家分:220
注 册:2006-3-16
收藏
得分:0 
嗯,添加引用:using System.Text.RegularExpressions;

汽车尾气检测网络系统QQ:357766186__MSN:MSNTHW19850316@
2012-02-19 09:07
williamweng
Rank: 1
等 级:新手上路
帖 子:34
专家分:2
注 册:2010-10-7
收藏
得分:0 
回复 4楼 tanghuawei
恩,多谢!
2012-02-19 11:17
快速回复:textbox输入的日期与Email地址如何验证有效?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.077993 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved