分享一個正則表達式幫助C#類
using System.Globalization; using System.Text.RegularExpressions;/// <summary> /// 正則表達式幫助類 /// </summary> public sealed class RegexHelper { private RegexHelper() { } /// <summary> /// 清除包含'字符串 /// </summary> public const string CLEAN_STRING = @"[']"; /// <summary> /// 驗證字符串是否為字符begin-end之間 /// </summary> public const string IS_VALID_BYTE = @"^[A-Za-z0-9]{#0#,#1#}$"; /// <summary> /// 驗證字符串是否為年月日 /// </summary> public const string IS_VALID_DATE = @"^2\d{3}-(?:0?[1-9]|1[0-2])-(?:0?[1-9]|[1-2]\d|3[0-1])(?:0?[1-9]|1\d|2[0-3]):(?:0?[1-9]|[1-5]\d):(?:0?[1-9]|[1-5]\d)$"; /// <summary> /// 驗證字符串是否為小數 /// </summary> public const string IS_VALID_DECIMAL = @"[0].\d{1,2}|[1]"; /// <summary> /// 驗證字符串是否為EMAIL /// </summary> public const string IS_VALID_EMAIL = @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"; /// <summary> /// 驗證字符串是否為IP /// </summary> public const string IS_VALID_IP = @"^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$"; /// <summary> /// 驗證字符串是否為后綴名 /// </summary> public const string IS_VALID_POSTFIX = @"\.(?i:{0})$"; /// <summary> /// 驗證字符串是否為電話號碼 /// </summary> public const string IS_VALID_TEL = @"(\d+-)?(\d{4}-?\d{7}|\d{3}-?\d{8}|^\d{7,8})(-\d+)?"; /// <summary> /// 驗證字符串是否為URL /// </summary> public const string IS_VALID_URL = @"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$"; #region 替換字符串 /// <summary> /// 替換字符串 /// </summary> /// <param name="input">輸入字符串</param> /// <param name="regex">正則表達式</param> /// <returns>替換后字符串</returns> public static string ReplaceInput(string input, string regex) { return Regex.Replace(input, regex, string.Empty); } /// <summary> /// 替換字符串 /// </summary> /// <param name="input">輸入字符串</param> /// <param name="regex">正則表達式</param> /// <param name="replace">替換字符串</param> /// <returns>替換后字符串</returns> public static string ReplaceInput(string input, string regex, string replace) { return Regex.Replace(input, regex, replace); } #endregion #region 驗證字符串 /// <summary> /// 驗證字符串 /// </summary> /// <param name="input">輸入字符串</param> /// <param name="regex">正則表達式</param> /// <returns>是否驗證通過</returns> public static bool CheckInput(string input, string regex) { return Regex.IsMatch(input, regex); } #endregion #region 常用方法 /// <summary> /// 驗證字符串 /// </summary> /// <param name="input">輸入字符串</param> /// <param name="regex">正則表達式</param> /// <param name="begin">開始數字</param> /// <param name="end">結尾數字</param> /// <returns>是否驗證通過</returns> public static bool ValidByte(string input, string regex, int begin, int end) { bool ret = false; if (!string.IsNullOrEmpty(regex)) { string rep = regex.Replace("#0#", begin.ToString(CultureInfo.InvariantCulture)); rep = rep.Replace("#1#", end.ToString(CultureInfo.InvariantCulture)); ret = CheckInput(input, rep); } return ret; } /// <summary> /// 驗證字符串 /// </summary> /// <param name="input">輸入字符串</param> /// <param name="regex">正則表達式</param> /// <param name="fix">后綴名</param> /// <returns>是否驗證通過</returns> public static bool ValidPostfix(string input, string regex, string fix) { string ret = string.Format(CultureInfo.InvariantCulture, regex, fix); return CheckInput(input, ret); } #endregion }</pre><br />
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!