博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 校验帮助类-正则表达式
阅读量:6217 次
发布时间:2019-06-21

本文共 3383 字,大约阅读时间需要 11 分钟。

目录

一、简介

很多时候我们都需要用到一些验证的方法,有时候需要用正则表达式校验数据时,往往需要到网上找很久,结果找到的还不是很符合自己想要的。所以我把自己整理的校验帮助类分享处理,在这里分享一下,给自己留了个底,也给各位需要的朋友们做个参考

二、校验类片段

2.1 邮箱验证

#region IsEmail(是否邮箱)///  /// 是否邮箱 ///  /// 邮箱地址 /// 是否按严格模式验证 /// 
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); } /// /// 是否存在邮箱 /// /// 值 /// 是否按严格模式验证 ///
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); } #endregion

2.2 手机号码验证

#region IsPhoneNumber(是否合法的手机号码)///  /// 是否合法的手机号码 ///  /// 手机号码 /// 
public static bool IsPhoneNumber(string value) { if (value.IsEmpty()) { return false; } return value.IsMatch(@"^(0|86|17951)?(13[0-9]|15[012356789]|18[0-9]|14[57]|17[678])[0-9]{8}$"); } #endregion #region IsMobileNumber(是否手机号码) /// /// 是否手机号码 /// /// 手机号码 /// 是否按严格模式验证 ///
public static bool IsMobileNumberSimple(string value, bool isRestrict = false) { if (value.IsEmpty()) { return false; } string pattern=isRestrict ? @"^[1][3-8]\d{9}$" : @"^[1]\d{10}$"; return value.IsMatch(pattern); } /// /// 是否手机号码 /// /// 手机号码 ///
public static bool IsMobileNumber(string value) { if (value.IsEmpty()) { return false; } value = value.Trim().Replace("^", "").Replace("$", ""); /** * 手机号码: * 13[0-9], 14[5,7], 15[0, 1, 2, 3, 5, 6, 7, 8, 9], 17[6, 7, 8], 18[0-9], 170[0-9] * 移动号段: 134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,187,188,147,178,1705 * 联通号段: 130,131,132,155,156,185,186,145,176,1709 * 电信号段: 133,153,180,181,189,177,1700 */ return value.IsMatch(@"^1(3[0-9]|4[57]|5[0-35-9]|8[0-9]|70)\d{8}$"); } /// /// 是否存在手机号码 /// /// 值 /// 是否按严格模式验证 ///
public static bool HasMobileNumberSimple(string value, bool isRestrict = false) { if (value.IsEmpty()) { return false; } string pattern = isRestrict ? @"[1][3-8]\d{9}" : @"[1]\d{10}"; return value.IsMatch(pattern); } #endregion #region IsChinaMobilePhone(是否中国移动号码) /// /// 是否中国移动号码 /// /// 手机号码 ///
public static bool IsChinaMobilePhone(string value) { if (value.IsEmpty()) { return false; } /** * 中国移动:China Mobile * 134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,187,188,147,178,1705 */ return value.IsMatch(@"(^1(3[4-9]|4[7]|5[0-27-9]|7[8]|8[2-478])\d{8}$)|(^1705\d{7}$)"); } #endregion #region IsChinaUnicomPhone(是否中国联通号码) /// /// 是否中国联通号码 /// /// 手机号码 ///
public static bool IsChinaUnicomPhone(string value) { if (value.IsEmpty()) { return false; } /** * 中国联通:China Unicom * 130,131,132,155,156,185,186,145,176,1709 */ return value.IsMatch(@"(^1(3[0-2]|4[5]|5[56]|7[6]|8[56])\d{8}$)|(^1709\d{7}$)"); } #endregion #region IsChinaTelecomPhone(是否中国电信号码) /// /// 是否中国电信号码 /// ///

转载于:https://www.cnblogs.com/hujings/p/7153857.html

你可能感兴趣的文章
【Python】编程时的捕获异常
查看>>
jsp页面div列表
查看>>
jsp页面table列表
查看>>
gradle 下载
查看>>
MVC开发Markdown编辑器(2)
查看>>
sicily 1345 能量项链
查看>>
jQuery基础:获取元素内容
查看>>
CRM 相关术语 (一)
查看>>
emacs common configurations
查看>>
彻底解决低端安卓手机touchend事件不触发(考虑scroll)
查看>>
find missing conjunction, why?
查看>>
AFN实现文件下载
查看>>
嵌入式开发之hi3519--- pcie dma和dma cache 缓存更新sync memery
查看>>
web 开发之js---ajax 异步处理
查看>>
必会重构技巧(五):划分职责
查看>>
TYVJ 1039 忠诚2 by C++
查看>>
C语言指针—————第一篇:函数参数的传递
查看>>
开源一个带自定义事件编程支持的javascript音频播放器,兼容IE和HTML5
查看>>
hadoop集群搭建
查看>>
【vue】清理代码
查看>>