asp.net C#验证邮箱,电话,手机,数字,英文,日期,身份证,邮编,网址,IP类正则验证

下面收藏了大家开发中常用的到各种表单验证函数,包括有邮箱,电话,ip,网站,日期,身份证等,希望对各位有所帮助

#region 验证邮箱验证邮箱

/**//// <summary>
/// 验证邮箱
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsEmail(string source)
{
return Regex.IsMatch(source, @"^[A-Za-z0-9](([_.-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([.-]?[a-zA-Z0-9]+)*).([A-Za-z]{2,})$", RegexOptions.IgnoreCase);
}
public static bool HasEmail(string source)
{
return Regex.IsMatch(source, @"[A-Za-z0-9](([_.-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([.-]?[a-zA-Z0-9]+)*).([A-Za-z]{2,})", RegexOptions.IgnoreCase);
}
#endregion

#region 验证网址
/**//// <summary>
/// 验证网址
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsUrl(string source)
{
return Regex.IsMatch(source, @"^(((file|gopher|news|nntp|telnet|http|ftp|https教程|ftps|sftp)://)|(www.))+(([a-zA-Z0-9._-]+.[a-zA-Z]{2,6})|([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}))(/[a-zA-Z0-9&amp;%_./-~-]*)?$", RegexOptions.IgnoreCase);
}
public static bool HasUrl(string source)
{
return Regex.IsMatch(source, @"(((file|gopher|news|nntp|telnet|http|ftp|https|ftps|sftp)://)|(www.))+(([a-zA-Z0-9._-]+.[a-zA-Z]{2,6})|([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}))(/[a-zA-Z0-9&amp;%_./-~-]*)?", RegexOptions.IgnoreCase);
}
#endregion

#region 验证日期
/**//// <summary>
/// 验证日期
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsDateTime(string source)
{
try
{
DateTime time = Convert.ToDateTime(source);
return true;
}
catch
{
return false;
}
}
#endregion

#region 验证手机号
/**//// <summary>
/// 验证手机号
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsMobile(string source)
{
return Regex.IsMatch(source, @"^1[35]d{9}$", RegexOptions.IgnoreCase);
}
public static bool HasMobile(string source)
{
return Regex.IsMatch(source, @"1[35]d{9}", RegexOptions.IgnoreCase);
}
#endregion

#region 验证IP
/**//// <summary>
/// 验证IP
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsIP(string source)
{
return Regex.IsMatch(source, @"^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$", RegexOptions.IgnoreCase);
}
public static bool HasIP(string source)
{
return Regex.IsMatch(source, @"(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])", RegexOptions.IgnoreCase);
}
#endregion
          #region 验证身份证是否有效
/**//// <summary>
/// 验证身份证是否有效
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public static bool IsIDCard(string Id)
{
if (Id.Length == 18)
{
bool check = IsIDCard18(Id);
return check;
}
else if (Id.Length == 15)
{
bool check = IsIDCard15(Id);
return check;
}
else
{
return false;
}
}

        public static bool IsIDCard18(string Id)
{
long n = 0;
if (long.TryParse(Id.Remove(17), out n) == false || n < Math.Pow(10, 16) || long.TryParse(Id.Replace('x', '0').Replace('X', '0'), out n) == false)
{
return false;//数字验证
}
string address = "11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91";
if (address.IndexOf(Id.Remove(2)) == -1)
{
return false;//省份验证
}
string birth = Id.Substring(6, 8).Insert(6, "-").Insert(4, "-");
DateTime time = new DateTime();
if (DateTime.TryParse(birth, out time) == false)
{
return false;//生日验证
}
string[] arrVarifyCode = ("1,0,x,9,8,7,6,5,4,3,2").Split(',');
string[] Wi = ("7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2").Split(',');
char[] Ai = Id.Remove(17).ToCharArray();
int sum = 0;
for (int i = 0; i < 17; i++)
{
sum += int.Parse(Wi[i]) * int.Parse(Ai[i].ToString());
}
int y = -1;
Math.DivRem(sum, 11, out y);
if (arrVarifyCode[y] != Id.Substring(17, 1).ToLower())
{
return false;//校验码验证
}
return true;//符合GB11643-1999标准
}

        public static bool IsIDCard15(string Id)
{
long n = 0;
if (long.TryParse(Id, out n) == false || n < Math.Pow(10, 14))
{
return false;//数字验证
}
string address = "11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91";
if (address.IndexOf(Id.Remove(2)) == -1)
{
return false;//省份验证
}
string birth = Id.Substring(6, 6).Insert(4, "-").Insert(2, "-");
DateTime time = new DateTime();
if (DateTime.TryParse(birth, out time) == false)
{
return false;//生日验证
}
return true;//符合15位身份证标准
}
#endregion

        #region 是不是Int型的
/**//// <summary>
/// 是不是Int型的
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsInt(string source)
{
Regex regex = new Regex(@"^(-){0,1}d+$");
if (regex.Match(source).Success)
{
if ((long.Parse(source) > 0x7fffffffL) || (long.Parse(source) < -2147483648L))
{
return false;
}
return true;
}
return false;
}
#endregion

        #region 看字符串的长度是不是在限定数之间 一个中文为两个字符
/**//// <summary>
/// 看字符串的长度是不是在限定数之间 一个中文为两个字符
/// </summary>
/// <param name="source">字符串</param>
/// <param name="begin">大于等于</param>
/// <param name="end">小于等于</param>
/// <returns></returns>
public static bool IsLengthStr(string source, int begin, int end)
{
int length = Regex.Replace(source, @"[^x00-xff]", "OK").Length;
if ((length <= begin) && (length >= end))
{
return false;
}
return true;
}
#endregion

        #region 是不是中国电话,格式010-85849685
/**//// <summary>
/// 是不是中国电话,格式010-85849685
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsTel(string source)
{
return Regex.IsMatch(source, @"^d{3,4}-?d{6,8}$", RegexOptions.IgnoreCase);
}
#endregion

       #region 邮政编码 6个数字
/**//// <summary>
/// 邮政编码 6个数字
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsPostCode(string source)
{
return Regex.IsMatch(source, @"^d{6}$", RegexOptions.IgnoreCase);
}
#endregion

       #region 中文
/**//// <summary>
/// 中文
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsChinese(string source)
{
return Regex.IsMatch(source, @"^[u4e00-u9fa5]+$", RegexOptions.IgnoreCase);
}
public static bool hasChinese(string source)
{
return Regex.IsMatch(source, @"[u4e00-u9fa5]+", RegexOptions.IgnoreCase);
}
#endregion

       #region 验证是不是正常字符 字母,数字,下划线的组合
/**//// <summary>
/// 验证是不是正常字符 字母,数字,下划线的组合
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsNormalChar(string source)
{
return Regex.IsMatch(source, @"[wd_]+", RegexOptions.IgnoreCase);
}
#endregion

时间: 2024-11-08 22:16:43

asp.net C#验证邮箱,电话,手机,数字,英文,日期,身份证,邮编,网址,IP类正则验证的相关文章

ASP.NET中 RegularExpressValidator(正则验证)的使用

原文:ASP.NET中 RegularExpressValidator(正则验证)的使用 ylbtech-ASP.NET-Control-Validator: RegularExpressValidator(正则验证)的使用  ASP.NET中 RegularExpressValidator(正则验证)的使用. 1.A,运行效果返回顶部 RegularExpressionValidator:正则验证 属性: ControlToValidate:要验证的控件 ErrorMessage:错误提示信息

php验证邮箱和ip地址最简单方法汇总_php技巧

在开发中验证邮箱.url.数字是我们常用的一些例子,下面整理了验证邮箱.url.数字程序,大家有兴趣可参考一下. 例子代码如下: public static function isEmail( $email ) { return preg_match("/^([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,4}([\.][a-z]{2})?$/i" , $email ); } public static

php中filter函数验证邮箱、url和ip地址的实例

早年使用php的时候还不知道有filter这玩意,那时候判断邮箱.url和ip地址格式是否符合都是用正则表达式.后来随着使用的逐渐深入,才知道在php中也可以使用内置的函数库filter来完成这些功能. 1.验证邮箱 先来看原始的正则验证  代码如下 复制代码 <?php function isEmail($email){  if(preg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i",$email )) {  

asp 验证输入网址是否有效并可以访问 与正则验证输入网址_应用技巧

核心代码: 验证输入网址是否有效并可以访问 <% '****************************** '函数:UrlOK(strURL) '参数:strURL,待验证的网址 '日期:2007/7/13 '描述:验证输入网址是否有效并可以访问 '示例:<%=UrlOK("http://www.jb51.net")%> '****************************** Function UrlOK(strURL) On Error Resume

asp.net 电话 手机 中英 数字验证控件

asp教程.net 电话 手机 中英 数字验证控件 1 对手机号码的验证:^1[0-9]d{9}$,之前使用的是:/^0{0,1}(13[4-9]|15[7-9]|15[0-2])[0-9]{8}$/, 编辑部在使用的时提出问题:怎么189的号不能添加啊,我一看,正则表达式没有189的号,然后跑去找一个资历老一点的同事,他给我的正则是:d{11},我一看这个验证不对啊!只能保证输入的是11位数字,格式什么的就没限制了,然后自己改了下,现在还没出现什么问题 2 只输入中文或英文:[u4e00-u9

javascript 通用验证函数库(电话,邮箱,手机,数字)

网页特效 通用验证函数库(电话,邮箱,手机,数字) 这个验证库是我们常用的 电话,邮箱,手机,数字 QQ, 字母,中文,英文等验证函数. /* @author:slchen @exemple:  var email="slchen@xxxxx.com";  alert($v.IsEmail(email)); */ var $v=(function(){ Function.prototype.method = function(name, fn) { this.prototype[nam

js怎样验证邮箱、电话、数字、邮编

js验证邮箱.电话.数字.邮编的HTML代码: <html> <head> <title>js验证手机邮箱</title> </head> <body>  代码如下 复制代码 <script language="javascript" type="text/javascript">  String.prototype.isNull=testNull;//判断是否为空  String.

js常用正则表达式 邮箱,电话,数字,字母

js常用正则表达式 邮箱,电话,数字,字母 /^[0-9.-]+$/  /^[0-9-]+$/  数字验证 /^[a-z]+$/i 英语字母验证 /^[0-9a-z]+$/i 用户名验证,数字与字母验表达式 /^[w-.]+@[w-.]+(.w+)+$/ 邮箱地址验证验函数 /^[0-9]{5,20}$/ QQ号码验证函数 /^http:/// 超级链接正则表达式 /^(13|15)[0-9]{9}$/ 手机号码正则表达式 /^[0-9-]{6,13}$/ 电话号码正则表达式 /^[0-9]{6

关于js校验,检验常见的比如:电话,数字,邮箱,手机号等等

 /**  验证数字:^[0-9]*$  验证n位的数字:^\d{n}$  验证至少n位数字:^\d{n,}$  验证m-n位的数字:^\d{m,n}$  验证零和非零开头的数字:^(0|[1-9][0-9]*)$  验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$  验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$  验证非零的正整数:^\+?[1-9][0-9]*$  验证非零的负整数:^\-[1-9][0-9]*$  验证非负整数(正整数 + 0