判断一个字符串,是否是Email地址(第一个和最后一个字符不能是@和.号,只能有一个@和.号,并且不能有,号,且.号必须在@后面)。
解决方案 »
- DataView中rowfilter对Date类型的筛选无效么??
- 如何再C#中实现c语言中的自定义类型typedef的用法了
- C#下载文件获取进度
- 注册DLL文件问题!怎么别让报注册成功对话框?
- 在线等! 在 vs2005里,怎么用c#创建web form啊???是选"新建"--"项目",还是新建--"网站"啊??着急啊!
- 无法用data reader读取数据
- c#winform操作JS对话框
- 在C#中如何只替换字符串中的第一个出现的字符?
- farpoint.win.spread.fpspread选择数据的问题
- label控件怎么得到sqldatasource在数据库select的表中字段值
- 为什么异常处理中,没有执行catch,直接执行了finally
- 请问多个图形一起移动时的关系
if(Regex.IsMatch(yourStr,@"^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"))
{
符合
}
else
{
不符合
}
C:\java>java Test [email protected]
有效邮件地址下面是原文:import java.util.regex.Pattern;
import java.util.regex.Matcher;public class Test {
public static void main(String[] args) {
if(args.length != 1) {
System.out.println("请输入一个参数!");
System.exit(0);
}
//这里和后面我已改过来了,原文为: Pattern p = Pattern.compile("\\w+@(\\w+.)+[a-z]{2,3}");
Pattern p = Pattern.compile("\\w+@(\\w+\\.)+[a-z]{2,3}");
Matcher m = p.matcher(args[0]);
boolean b = m.matches();
if(b) {
System.out.println("有效邮件地址");
} else {
System.out.println("无效邮件地址");
}
}
}
可判断为空或者不符合正则
public static bool IsEmail(string str)
{
System.Text.RegularExpressions.Regex reg1 = new System.Text.RegularExpressions.Regex(@"^\w+(-\w+)*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$");
return string.IsNullOrEmpty(str) == false && reg1.IsMatch(str);
}
private static Regex RegEmail = new Regex("^[\\w-]+@[\\w-]+\\.(com|net|org|edu|mil|tv|biz|info)$");//w 英文字母或数字的字符串,和 [a-zA-Z0-9] 语法一样
/// <summary>
/// 判断是否是Email格式
/// </summary>
/// <param name="inputData">字符串</param>
/// <param name="DBNull">为空时是否做判断</param>
/// <param name="DBNull">为空时是否做判断</param>
/// <returns></returns> public static bool IsEmail(string str_Text, bool DBNull)
{
Match m = RegEmail.Match(str_Text);
if (DBNull && str_Text.Trim() == "")
return false;
else if (!DBNull && str_Text.Trim() == "")
return true; return m.Success;
} if (!IsEmail(txt_emailid.Text, true))
{ returnStrs = "添加EmailID为空或者格式不对";
txt_emailid.Focus(); }