标题:EMAIL地址判定以及提取的问题[已解决]
只看楼主
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
 问题点数:0 回复次数:8 
EMAIL地址判定以及提取的问题[已解决]

//在c#.net中使用正则表达式检验输入是否为电子邮件
private static bool IsEmail(string itemValue)
{
return (IsRegEx(@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", itemValue));
}
//在c#.net中使用正则表达式检验输入是否为电子邮件
private static bool IsRegEx(string regExValue, string itemValue)
{

try
{
Regex regex = new System.Text.RegularExpressions.Regex(regExValue);
if (regex.IsMatch(itemValue))
return true;
else
return false;
}
catch (Exception )
{
return false;
}
finally
{
}
}
private static string GetEmail(string itemValue)
{
return (GetRegEx(@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", itemValue));
}
/// <summary>
/// 用正则表达式取所需字符串
/// </summary>
/// <param name="regExValue">正则表达式</param>
/// <param name="itemValue">待验证字符串</param>
/// <returns>符合值</returns>
private static string GetRegEx(string regExValue, string itemValue)
{

try
{
Regex regex = new System.Text.RegularExpressions.Regex(regExValue);

return regex.Match (itemValue).Value ;

}
catch (Exception )
{
return null;
}
}



string nText="645;432423.ghjg.fdnoshow@noshow.com";
Console.WriteLine (IsEmail(nText));
Console.WriteLine (GetEmail(nText));


第一段代码是我写的方法
第二段代码是我的主程序里的调用
输出结果是
FALSE

但是我的本意是先判断是否是合法的EMAIL地址
如果合法就输出该地址
如果不合法看是否里面包含了合法的EMAIL地址
如果包含就提取然后输出

目前的问题是可以判定输入的字符串是否合法的EMAIL地址
但是无法从包含EMAIL地址的非法字符串中提取合法的EMAIL地址

请大家帮俺看看为什么

[此贴子已经被作者于2006-11-10 15:04:15编辑过]

搜索更多相关主题的帖子: 电子邮件 EMAIL string bool itemValue 
2006-11-10 10:23
xxxxx52
Rank: 4
等 级:贵宾
威 望:13
帖 子:689
专家分:0
注 册:2006-4-30
得分:0 

关注...


好的资料下载网站http:///in.asp?id=xuelion2006 嘿嘿帮点一下拉~
2006-11-10 10:41
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
得分:0 
[QUOTE]^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$[/QUOTE]

找到问题所在了
这个正则是我从网上搜索到的

该正则表达式是用来验证字符串时候合法的EMAIL地址的
而不是用来从字符串中提取合法EMAIL地址用的
所以...

我想我该研究一下把这个改为提取EMAIL的正则了... -_-!
希望明白的HELP一下 怎么样改
谢谢


此号自封于2006年11月30日
2006-11-10 11:29
xxxxx52
Rank: 4
等 级:贵宾
威 望:13
帖 子:689
专家分:0
注 册:2006-4-30
得分:0 

啊 是正则啊...


好的资料下载网站http:///in.asp?id=xuelion2006 嘿嘿帮点一下拉~
2006-11-10 11:33
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
得分:0 
以下是引用xxxxx52在2006-11-10 11:33:53的发言:

啊 是正则啊...

好久不见 呵呵
快帮俺研究研究


此号自封于2006年11月30日
2006-11-10 11:43
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
得分:0 
([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)


研究过发现去掉开始和结尾就行了
真水

此号自封于2006年11月30日
2006-11-10 15:03
xxxxx52
Rank: 4
等 级:贵宾
威 望:13
帖 子:689
专家分:0
注 册:2006-4-30
得分:0 
我其实想说 正则我看了就想吐...

好的资料下载网站http:///in.asp?id=xuelion2006 嘿嘿帮点一下拉~
2006-11-10 15:20
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
得分:0 
5x 5x我愛你

就像老鼠愛大米

[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-11-10 15:25
skyland84
Rank: 2
等 级:新手上路
威 望:4
帖 子:544
专家分:0
注 册:2006-10-9
得分:0 
我也很反感正则~!
看了 头都大~!

决定人生~
2006-11-10 15:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-101943-1-1.html




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

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