C# 校验帮助类-正则表达式( 四 )

/// 是否中文/// /// 中文/// public static bool IsChinese(string value){if (value.IsEmpty()){return false;}return value.IsMatch(@"^[u4e00-u9fa5]+$", RegexOptions.IgnoreCase);}/// /// 是否包含中文/// /// 中文/// public static bool IsContainsChinese(string value){if (value.IsEmpty()){return false;}return value.IsMatch(@"[u4e00-u9fa5]+",RegexOptions.IgnoreCase);}#endregion#region IsContainsNumber(是否包含数字)/// /// 是否包含数字/// /// 数字/// public static bool IsContainsNumber(string value){if (value.IsEmpty()){return false;}return value.IsMatch(@"[0-9]+");}#endregion#region IsLengthStr(字符串长度是否在指定范围内)/// /// 字符串长度是否在指定范围内,一个中文为2个字符/// /// 字符串/// 开始/// 结束/// public static bool IsLengthStr(string value, int begin, int end){int length = Regex.Replace(value, @"[^x00-xff]", "OK").Length;if ((length <= begin) && (length >= end)){return false;}return true;}#endregion#region IsNormalChar(是否正常字符,字母、数字、下划线的组合)/// /// 是否正常字符,字母、数字、下划线的组合/// /// 字符串/// public static bool IsNormalChar(string value){if (value.IsEmpty()){return false;}return value.IsMatch(@"[wd_]+", RegexOptions.IgnoreCase);}#endregion#region IsPostfix(是否指定后缀)/// /// 是否指定后缀/// /// 字符串/// 后缀名数组/// public static bool IsPostfix(string value, string[] postfixs){if (value.IsEmpty()){return false;}string postfix = string.Join("|", postfixs);return value.IsMatch(string.Format(@".(?i:{0})$", postfix));}#endregion#region IsRepeat(是否重复)/// /// 是否重复,范例:112,返回true/// /// 值/// public static bool IsRepeat(string value){if (value.IsEmpty()){return false;}var array = value.ToCharArray();return array.Any(c => array.Count(t => t == c) > 1);}#endregion2.10 邮政编码验证#region IsPostalCode(是否邮政编码)/// <summary>/// 是否邮政编码,6位数字/// </summary>/// <param name="value">邮政编码</param>/// <returns></returns>public static bool IsPostalCode(string value){if (value.IsEmpty()){return false;}return value.IsMatch(@"^[1-9]d{5}$", RegexOptions.IgnoreCase);}#endregion2.11 中国固话验证#region IsTel(是否中国电话)/// <summary>/// 是否中国电话,格式:010-85849685/// </summary>/// <param name="value">电话</param>/// <returns></returns>public static bool IsTel(string value){if (value.IsEmpty()){return false;}return value.IsMatch(@"^d{3,4}-?d{6,8}$", RegexOptions.IgnoreCase);}#endregion2.12 QQ号码验证#region IsQQ(是否合法QQ号码)/// <summary>/// 是否合法QQ号码/// </summary>/// <param name="value">QQ号码</param>/// <returns></returns>// ReSharper disable once InconsistentNamingpublic static bool IsQQ(string value){if (value.IsEmpty()){return false;}return value.IsMatch(@"^[1-9][0-9]{4,9}$");}#endregion回到顶部
三、源代码最后 附上源码地址
https://github.com/jianxuanbing/JCE/blob/master/JCE.Utils/Valid.cs
回到顶部
四、正则表达式4.1 校验数字的表达式数字:^[0-9]*$n位的数字:^d{n}$至少n位的数字:^d{n,}$m-n位的数字:^d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(-)?d+(.d{1,2})?$正数、负数、和小数:^(-|+)?d+(.d+)?$有两位小数的正实数:^[0-9]+(.[0-9]{2})?$有1~3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$非零的正整数:^[1-9]d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^+?[1-9][0-9]*$非零的负整数:^-[1-9][]0-9"*$ 或 ^-[1-9]d*$非负整数:^d+$ 或 ^[1-9]d*|0$非正整数:^-[1-9]d*|0$ 或 ^((-d+)|(0+))$非负浮点数:^d+(.d+)?$ 或 ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$非正浮点数:^((-d+(.d+)?)|(0+(.0+)?))$ 或 ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$正浮点数:^[1-9]d*.d*|0.d*[1-9]d*$ 或 ^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$负浮点数:^-([1-9]d*.d*|0.d*[1-9]d*)$ 或 ^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$浮点数:^(-?d+)(.d+)?$ 或 ^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$4.2 校验字符的表达式汉字:^[u4e00-u9fa5]{0,}$英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$长度为3-20的所有字符:^.{3,20}$由26个英文字母组成的字符串:^[A-Za-z]+$由26个大写英文字母组成的字符串:^[A-Z]+$由26个小写英文字母组成的字符串:^[a-z]+$由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$由数字、26个英文字母或者下划线组成的字符串:^w+$ 或 ^w{3,20}$中文、英文、数字包括下划线:^[u4E00-u9FA5A-Za-z0-9_]+$中文、英文、数字但不包括下划线等符号:^[u4E00-u9FA5A-Za-z0-9]+$ 或 ^[u4E00-u9FA5A-Za-z0-9]{2,20}$可以输入含有^%&',;=?$"等字符:[^%&',;=?$x22]+禁止输入含有~的字符:[^~x22]+


推荐阅读