1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > C#验证类 可验证:邮箱 电话 手机 数字 英文 日期 身份证 邮编 网址 IP

C#验证类 可验证:邮箱 电话 手机 数字 英文 日期 身份证 邮编 网址 IP

时间:2024-04-09 00:51:33

相关推荐

C#验证类 可验证:邮箱 电话 手机 数字 英文 日期 身份证 邮编 网址 IP

基于方便各个项目的引用和扩展的目的,以下收集了一些常用的验证信息:

代码 usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Text.RegularExpressions;

namespaceValidatorTest

{

///<summary>

///RegExpSoruce:/DisplayPatterns.aspx

///Author:Keingreatandforever@

///Intro:验证网址,IP,邮箱,电话,手机,数字,英文,日期,身份证,邮编,

///原则上是中国通用,这里只是提供一些通用的验证,在各种场合有特殊情况的肯定要自己再补充。

///Version:1.0

///</summary>

publicclassValidator

{

#region验证邮箱

/**/

///<summary>

///验证邮箱

///</summary>

///<paramname="source"></param>

///<returns></returns>

publicstaticboolIsEmail(stringsource)

{

returnRegex.IsMatch(source,@"^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$",RegexOptions.IgnoreCase);

}

publicstaticboolHasEmail(stringsource)

{

returnRegex.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>

///<paramname="source"></param>

///<returns></returns>

publicstaticboolIsUrl(stringsource)

{

returnRegex.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);

}

publicstaticboolHasUrl(stringsource)

{

returnRegex.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>

///<paramname="source"></param>

///<returns></returns>

publicstaticboolIsDateTime(stringsource)

{

boolflag=false;

DateTimetime=newDateTime();

if(DateTime.TryParse(source,outtime))

{

flag=true;

}

returnflag;

}

#endregion

#region验证手机号

/**/

///<summary>

///验证手机号

///</summary>

///<paramname="source"></param>

///<returns></returns>

publicstaticboolIsMobile(stringsource)

{

returnRegex.IsMatch(source,@"^1[35]\d{9}$",RegexOptions.IgnoreCase);

}

publicstaticboolHasMobile(stringsource)

{

returnRegex.IsMatch(source,@"1[35]\d{9}",RegexOptions.IgnoreCase);

}

#endregion

#region验证IP

/**/

///<summary>

///验证IP

///</summary>

///<paramname="source"></param>

///<returns></returns>

publicstaticboolIsIP(stringsource)

{

returnRegex.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);

}

publicstaticboolHasIP(stringsource)

{

returnRegex.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>

///<paramname="Id"></param>

///<returns></returns>

publicstaticboolIsIDCard(stringId)

{

if(Id.Length==18)

{

boolcheck=IsIDCard18(Id);

returncheck;

}

elseif(Id.Length==15)

{

boolcheck=IsIDCard15(Id);

returncheck;

}

else

{

returnfalse;

}

}

publicstaticboolIsIDCard18(stringId)

{

longn=0;

if(long.TryParse(Id.Remove(17),outn)==false||n<Math.Pow(10,16)||long.TryParse(Id.Replace('x','0').Replace('X','0'),outn)==false)

{

returnfalse;//数字验证

}

stringaddress="11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91";

if(address.IndexOf(Id.Remove(2))==-1)

{

returnfalse;//省份验证

}

stringbirth=Id.Substring(6,8).Insert(6,"-").Insert(4,"-");

DateTimetime=newDateTime();

if(DateTime.TryParse(birth,outtime)==false)

{

returnfalse;//生日验证

}

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();

intsum=0;

for(inti=0;i<17;i++)

{

sum+=int.Parse(Wi[i])*int.Parse(Ai[i].ToString());

}

inty=-1;

Math.DivRem(sum,11,outy);

if(arrVarifyCode[y]!=Id.Substring(17,1).ToLower())

{

returnfalse;//校验码验证

}

returntrue;//符合GB11643-1999标准

}

publicstaticboolIsIDCard15(stringId)

{

longn=0;

if(long.TryParse(Id,outn)==false||n<Math.Pow(10,14))

{

returnfalse;//数字验证

}

stringaddress="11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91";

if(address.IndexOf(Id.Remove(2))==-1)

{

returnfalse;//省份验证

}

stringbirth=Id.Substring(6,6).Insert(4,"-").Insert(2,"-");

DateTimetime=newDateTime();

if(DateTime.TryParse(birth,outtime)==false)

{

returnfalse;//生日验证

}

returntrue;//符合15位身份证标准

}

#endregion

#region是不是Int型的

/**/

///<summary>

///是不是Int型的

///</summary>

///<paramname="source"></param>

///<returns></returns>

publicstaticboolIsInt(stringsource)

{

Regexregex=newRegex(@"^(-){0,1}\d+$");

if(regex.Match(source).Success)

{

if((long.Parse(source)>0x7fffffffL)||(long.Parse(source)<-2147483648L))

{

returnfalse;

}

returntrue;

}

returnfalse;

}

#endregion

#region看字符串的长度是不是在限定数之间一个中文为两个字符

/**/

///<summary>

///看字符串的长度是不是在限定数之间一个中文为两个字符

///</summary>

///<paramname="source">字符串</param>

///<paramname="begin">大于等于</param>

///<paramname="end">小于等于</param>

///<returns></returns>

publicstaticboolIsLengthStr(stringsource,intbegin,intend)

{

intlength=Regex.Replace(source,@"[^\x00-\xff]","OK").Length;

if((length<=begin)&&(length>=end))

{

returnfalse;

}

returntrue;

}

#endregion

#region是不是中国电话,格式010-85849685

/**/

///<summary>

///是不是中国电话,格式010-85849685

///</summary>

///<paramname="source"></param>

///<returns></returns>

publicstaticboolIsTel(stringsource)

{

returnRegex.IsMatch(source,@"^\d{3,4}-?\d{6,8}$",RegexOptions.IgnoreCase);

}

#endregion

#region邮政编码6个数字

/**/

///<summary>

///邮政编码6个数字

///</summary>

///<paramname="source"></param>

///<returns></returns>

publicstaticboolIsPostCode(stringsource)

{

returnRegex.IsMatch(source,@"^\d{6}$",RegexOptions.IgnoreCase);

}

#endregion

#region中文

/**/

///<summary>

///中文

///</summary>

///<paramname="source"></param>

///<returns></returns>

publicstaticboolIsChinese(stringsource)

{

returnRegex.IsMatch(source,@"^[\u4e00-\u9fa5]+$",RegexOptions.IgnoreCase);

}

publicstaticboolhasChinese(stringsource)

{

returnRegex.IsMatch(source,@"[\u4e00-\u9fa5]+",RegexOptions.IgnoreCase);

}

#endregion

#region验证是不是正常字符字母,数字,下划线的组合

/**/

///<summary>

///验证是不是正常字符字母,数字,下划线的组合

///</summary>

///<paramname="source"></param>

///<returns></returns>

publicstaticboolIsNormalChar(stringsource)

{

returnRegex.IsMatch(source,@"[\w\d_]+",RegexOptions.IgnoreCase);

}

#endregion

}

}

参考地址:

1./DisplayPatterns.aspx

2. /yongfa365/archive//07/19/YongFa365_Validator.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。