/// <summary>
/// 是否邮箱
/// </summary>
/// <param>邮箱地址</param>
/// <param>是否按严格模式验证</param>
/// <returns></returns>
public static bool IsEmail(string value, bool isRestrict=false)
{
if (value.IsEmpty())
{
return false;
}
string pattern = isRestrict
? @"^(?("")("".+?""@)|(([0-9a-zA-Z]((\.(?!\.))|[-!#\$%&‘\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-zA-Z])@))(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,6}))$"
: @"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$";
return value.IsMatch(pattern, RegexOptions.IgnoreCase);
}
/// <summary>
/// 是否存在邮箱
/// </summary>
/// <param>值</param>
/// <param>是否按严格模式验证</param>
/// <returns></returns>
public static bool HasEmail(string value, bool isRestrict = false)
{
if (value.IsEmpty())
{
return false;
}
string pattern = isRestrict
? @"^(?("")("".+?""@)|(([0-9a-zA-Z]((\.(?!\.))|[-!#\$%&‘\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-zA-Z])@))(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,6}))$"
: @"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$";
return value.IsMatch(pattern, RegexOptions.IgnoreCase);
}
相关文章
- C# 使用Nlog记录日志到数据库 使用LogEventInfo类获取,命名空间名称、类名、方法名
- C# 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke
- javascript 常用的正则表达式验证表单
- C#中 如何执行带GO的sql 语句
- C#弹出对话框
- jQuery Validate 表单验证插件----通过name属性来关联字段来验证,改变默认的提示信息,将校验规则写到 js 代码中
- c#调用API的CreateFontIndirect设置字体,编译提示“值不在预期范围”求解?
- C#学习笔记:控件的字体(Font)属性设置
- jQuery Validate 表单验证插件----在class属性中添加校验规则进行简单的校验
- jQuery Validate 表单验证插件----自定义校验结果样式