jellyfin/Emby.Server.Implementations/Connect/Validator.cs

30 lines
1012 B
C#
Raw Normal View History

2014-11-16 13:44:08 -07:00
using System.Text.RegularExpressions;
2014-10-22 21:26:01 -07:00
2016-11-04 11:56:47 -07:00
namespace Emby.Server.Implementations.Connect
2014-10-22 21:26:01 -07:00
{
public static class Validator
{
2014-11-16 13:44:08 -07:00
static readonly Regex ValidEmailRegex = CreateValidEmailRegex();
2014-10-22 21:26:01 -07:00
/// <summary>
/// Taken from http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
/// </summary>
/// <returns></returns>
private static Regex CreateValidEmailRegex()
{
2014-11-16 13:44:08 -07:00
const string validEmailPattern = @"^(?!\.)(""([^""\r\\]|\\[""\r\\])*""|"
+ @"([-a-z0-9!#$%&'*+/=?^_`{|}~]|(?<!\.)\.)*)(?<!\.)"
+ @"@[a-z0-9][\w\.-]*[a-z0-9]\.[a-z][a-z\.]*[a-z]$";
2014-10-22 21:26:01 -07:00
return new Regex(validEmailPattern, RegexOptions.IgnoreCase);
}
internal static bool EmailIsValid(string emailAddress)
{
bool isValid = ValidEmailRegex.IsMatch(emailAddress);
return isValid;
}
}
}