using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace Newegg.API.XAEC.Common
{
/// <summary>
/// String extension.
/// </summary>
public static class StringExtension
{
/// <summary>
/// Indicates whether a specified string is null or empty.
/// </summary>
/// <param name="inputString">Input string.</param>
/// <returns>Bool value.</returns>
public static bool IsNullOrEmpty(this string inputString)
{
return string.IsNullOrWhiteSpace(inputString);
}
/// <summary>
/// Indicates whether a specified string is int.
/// </summary>
/// <param name="inputString">Input string.</param>
/// <returns>Is int type.</returns>
public static bool IsInt(this string inputString)
{
if (string.IsNullOrWhiteSpace(inputString))
{
return false;
}
int i;
return int.TryParse(inputString, out i);
}
/// <summary>
/// Indicates whether a specified string is long.
/// </summary>
/// <param name="inputString">Input string.</param>
/// <returns>Is long type.</returns>
public static bool IsLong(this string inputString)
{
if (string.IsNullOrWhiteSpace(inputString))
{
return false;
}
long i;
return long.TryParse(inputString, out i);
}
/// <summary>
/// Indicates whether a specified string is decimal.
/// </summary>
/// <param name="inputString">Input string.</param>
/// <returns>Is decimal type.</returns>
public static bool IsDecimal(this string inputString)
{
if (string.IsNullOrWhiteSpace(inputString))
{
return false;
}
decimal i;
return decimal.TryParse(inputString, out i);
}
/// <summary>
/// Indicates whether a specified string is datetime.
/// </summary>
/// <param name="inputString">Input string.</param>
/// <returns>Is datetime type.</returns>
public static bool IsDateTime(this string inputString)
{
if (string.IsNullOrWhiteSpace(inputString))
{
return false;
}
try
{
Convert.ToDateTime(inputString);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// Indecates whether a specified string is url.
/// </summary>
/// <param name="inputString">Input string.</param>
/// <returns>Is url.</returns>
public static bool IsUrl(this string inputString)
{
if (string.IsNullOrWhiteSpace(inputString))
{
return false;
}
return Regex.IsMatch(inputString.Trim(), @"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?");
}
/// <summary>
/// Indecates whether a specified string is email address.
/// </summary>
/// <param name="inputString">Input string.</param>
/// <returns>Is email address.</returns>
public static bool IsEmailAddress(this string inputString)
{
if (string.IsNullOrWhiteSpace(inputString))
{
return false;
}
return Regex.IsMatch(inputString.Trim(), @"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");
}
/// <summary>
/// Indecates whether a specified string is alphabetic.
/// </summary>
/// <param name="inputString">Input string.</param>
/// <returns>Is alphabetic.</returns>
public static bool IsAlphabetic(this string inputString)
{
if (string.IsNullOrWhiteSpace(inputString))
{
return false;
}
return Regex.IsMatch(inputString.Trim(), @"^[a-zA-Z]+$");
}
}
}