【C#】string拡張クラス晒してみる
おはよーござます。
朝ですねー。。
Microsoft MVPに応募したった
for Visual C#で
ってことでこのブログはC#に寄っていくことになるかと思われますー
それとは別件で近々大発表がありますので乞うご期待
で、早速。
私ちゃんと自分で基盤持っているので、そっから晒していきますでござます。
第一弾はstringの拡張クラス!
using System; using System.Text.RegularExpressions; /// <summary> /// string拡張 /// </summary> public static class HogeStringEx { /// <summary> /// 文字列長が範囲内かどうかを検証します。 /// </summary> /// <param name="str">文字列</param> /// <param name="minLength">最小文字列長</param> /// <param name="maxLength">最大文字列長</param> /// <returns>範囲内かどうか</returns> public static bool InBetweenLength(this string str, int minLength, int maxLength) { if (str == null) return false; if (minLength > maxLength) throw new Exception("minLengthがmaxLengthより大きいよ"); return str.Length >= minLength && str.Length <= maxLength; } /// <summary> /// 指定した正規表現にマッチするかどうかを検証します。 /// </summary> /// <param name="str">文字列</param> /// <param name="pattern">正規表現</param> /// <returns>マッチするかどうか</returns> public static bool IsMatch(this string str, string pattern) { if (str == null) return false; return Regex.IsMatch(str, pattern); } /// <summary> /// 半角英字のみかどうかを検証します。 /// </summary> /// <param name="str">文字列</param> /// <returns>半角英字のみかどうか</returns> public static bool IsHalfAlphabet(this string str) { return str.IsMatch(@"[a-zA-Z]+"); } /// <summary> /// 半角数字のみかどうかを検証します。 /// </summary> /// <param name="str">文字列</param> /// <returns>半角数字のみかどうか</returns> public static bool IsHalfNumber(this string str) { return str.IsMatch(@"[0-9]+"); } /// <summary> /// 半角記号のみかどうかを検証します。 /// </summary> /// <param name="str">文字列</param> /// <returns>半角記号のみかどうか</returns> public static bool IsHalfSymbol(this string str) { return str.IsMatch(@"[ -/:-@\[-\`\{-\~]+"); } /// <summary> /// 半角英数字のみかどうかを検証します。 /// </summary> /// <param name="str">文字列</param> /// <returns>半角英数字のみかどうか</returns> public static bool IsHalfAlphabetNumber(this string str) { return str.IsMatch(@"[a-zA-Z0-9]+"); } /// <summary> /// 半角英数字記号のみかどうかを検証します。 /// </summary> /// <param name="str">文字列</param> /// <returns>半角英数字記号のみかどうか</returns> public static bool IsHalfAlphabetNumberSymbol(this string str) { return str.IsMatch(@"[a-zA-Z0-9 -/:-@\[-\`\{-\~]+"); } /// <summary> /// 郵便番号かどうかを検証します。 /// </summary> /// <param name="str">文字列</param> /// <returns>郵便番号かどうか</returns> public static bool IsZipCode(this string str) { return str.IsMatch(@"\d{3}-\d{4}"); } /// <summary> /// 電話番号かどうかを検証します。 /// </summary> /// <param name="str">文字列</param> /// <returns>電話番号かどうか</returns> public static bool IsPhoneNumber(this string str) { return str.IsMatch(@"\d{2,4}-\d{1,4}-\d{4}"); } /// <summary> /// メールアドレスかどうかを検証します。 /// </summary> /// <param name="str">文字列</param> /// <returns>メールアドレスかどうか</returns> public static bool IsMailAddress(this string str) { return str.IsMatch(@"[\w!#$%&'*+/=?^_@{}\\|~-]+(\.[\w!#$%&'*+/=?^_{}\\|~-]+)*@([\w][\w-]*\.)+[\w][\w-]*"); } /// <summary> /// URLかどうかを検証します。 /// </summary> /// <param name="str">文字列</param> /// <returns>URLかどうか</returns> public static bool IsUrl(this string str) { return str.IsMatch(@"https?:\/\/[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+"); } /// <summary> /// 現在の System.String オブジェクトの先頭と末尾から、配列で指定された文字セットをすべて削除します。 /// </summary> public static string TrimStartEnd(this string str, char[] trimChars) { str = str.TrimStart(trimChars); return str.TrimEnd(trimChars); } } <|| <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- blog --> <ins class="adsbygoogle" style="display:inline-block;width:336px;height:280px" data-ad-client="ca-pub-2202090188729820" data-ad-slot="5505004995"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- blog --> <ins class="adsbygoogle" style="display:inline-block;width:336px;height:280px" data-ad-client="ca-pub-2202090188729820" data-ad-slot="5505004995"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- blog --> <ins class="adsbygoogle" style="display:inline-block;width:336px;height:280px" data-ad-client="ca-pub-2202090188729820" data-ad-slot="5505004995"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({});