71 lines
2.7 KiB
C#
71 lines
2.7 KiB
C#
|
using Newtonsoft.Json;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.ComponentModel;
|
|||
|
using System.IO;
|
|||
|
using System.Linq;
|
|||
|
using System.Reflection;
|
|||
|
using System.Text;
|
|||
|
using System.Text.RegularExpressions;
|
|||
|
using System.Threading.Tasks;
|
|||
|
using Traffic.Data.ViewModels;
|
|||
|
|
|||
|
namespace LiangLiSystem.Services.Helpers
|
|||
|
{
|
|||
|
public static class Util
|
|||
|
{
|
|||
|
public static string GetEnumDesc(Enum value)
|
|||
|
{
|
|||
|
FieldInfo fi = value.GetType().GetField(value.ToString());
|
|||
|
|
|||
|
DescriptionAttribute[] attributes = fi.GetCustomAttributes(typeof(DescriptionAttribute), false) as DescriptionAttribute[];
|
|||
|
|
|||
|
if (attributes != null && attributes.Any())
|
|||
|
{
|
|||
|
return attributes.First().Description;
|
|||
|
}
|
|||
|
|
|||
|
return value.ToString();
|
|||
|
}
|
|||
|
|
|||
|
public static DateTime GetDateTimeNow()
|
|||
|
{
|
|||
|
return Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
|
|||
|
}
|
|||
|
public static string GetDateTimeNow(string date)
|
|||
|
{
|
|||
|
return Convert.ToDateTime(date).ToString("yyyy-MM-dd HH:mm:ss");
|
|||
|
}
|
|||
|
|
|||
|
public static SearchModel GetSearchModel(SearchModelViewModel searchModel)
|
|||
|
{
|
|||
|
return new SearchModel
|
|||
|
{
|
|||
|
Term = searchModel.Term,
|
|||
|
Page = Convert.ToInt32(string.IsNullOrWhiteSpace(searchModel.Page) ? "1" : searchModel.Page),
|
|||
|
PageSize = Convert.ToInt32(string.IsNullOrWhiteSpace(searchModel.PageSize) ? "1" : searchModel.PageSize),
|
|||
|
IsAsc = (searchModel.IsAsc == "true" || searchModel.IsAsc == "") ? true : false,
|
|||
|
Order = string.IsNullOrWhiteSpace(searchModel.Order) ? "id" : searchModel.Order,
|
|||
|
};
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// #必須包含數字, #必須包含小寫字母, #必須包含大寫字母, #必須包含特殊符號, #至少8個字符,最多30個字符
|
|||
|
/// </summary>
|
|||
|
/// <param name="password"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static bool IsValidPassword(string password)
|
|||
|
{
|
|||
|
var regex = new Regex(@"
|
|||
|
(?=.*[0-9]) #必須包含數字
|
|||
|
(?=.*[a-z]) #必須包含小寫字母
|
|||
|
(?=.*[A-Z]) #必須包含大寫字母
|
|||
|
(?=([\x21-\x7e]+)[^a-zA-Z0-9]) #必須包含特殊符號
|
|||
|
.{12,30} #至少12個字符,最多30個字符
|
|||
|
", RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);
|
|||
|
|
|||
|
return regex.Match(password).Success;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|