120 lines
3.3 KiB
C#
120 lines
3.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.AspNetCore.Http;
|
|
using NaiBa.Util.Helper;
|
|
using Newtonsoft.Json.Linq;
|
|
|
|
namespace NaiBa.Util.Extension
|
|
{
|
|
public static partial class Extensions
|
|
{
|
|
public static bool IsNullOrEmpty(this object value)
|
|
{
|
|
if (value != null && !string.IsNullOrEmpty(value.ParseToString()))
|
|
{
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
|
|
public static bool IsNullOrZero(this object value)
|
|
{
|
|
if (value == null || string.IsNullOrEmpty(value.ParseToString()) || value.ParseToString().Trim() == "0")
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public static bool IsNumericType(this object value)
|
|
{
|
|
if (value == null)
|
|
{
|
|
return false;
|
|
}
|
|
switch (Type.GetTypeCode(value.GetType()))
|
|
{
|
|
case TypeCode.Byte:
|
|
case TypeCode.SByte:
|
|
case TypeCode.UInt16:
|
|
case TypeCode.UInt32:
|
|
case TypeCode.UInt64:
|
|
case TypeCode.Int16:
|
|
case TypeCode.Int32:
|
|
case TypeCode.Int64:
|
|
case TypeCode.Decimal:
|
|
case TypeCode.Double:
|
|
case TypeCode.Single:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public static bool IsStringType(this object value)
|
|
{
|
|
if (value == null)
|
|
{
|
|
return false;
|
|
}
|
|
switch (Type.GetTypeCode(value.GetType()))
|
|
{
|
|
case TypeCode.String:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public static bool IsNumber(this string value)
|
|
{
|
|
return RegexHelper.IsNumber(value);
|
|
}
|
|
|
|
public static bool IsAlphabet(this string value)
|
|
{
|
|
return RegexHelper.IsAlphabet(value);
|
|
}
|
|
|
|
public static bool IsAlphabetOrNumber(this string value)
|
|
{
|
|
return RegexHelper.IsAlphabetOrNumber(value);
|
|
}
|
|
|
|
public static bool IsJson(this string value)
|
|
{
|
|
return JsonHelper.IsJson(value);
|
|
}
|
|
|
|
public static bool IsJTokenNullOrEmpty(this JToken token)
|
|
{
|
|
return (token == null) ||
|
|
(token.Type == JTokenType.Array && !token.HasValues) ||
|
|
(token.Type == JTokenType.Object && !token.HasValues) ||
|
|
(token.Type == JTokenType.String && token.ToString() == string.Empty) ||
|
|
(token.Type == JTokenType.Null);
|
|
}
|
|
|
|
public static bool IsAjaxRequest(this Microsoft.AspNetCore.Http.HttpRequest request)
|
|
{
|
|
if (request == null)
|
|
throw new ArgumentNullException("request");
|
|
|
|
if (request.Headers != null)
|
|
return request.Headers["X-Requested-With"] == "XMLHttpRequest";
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
|
|
|