diff --git a/src/PopForums.Test/Extensions/StringTests.cs b/src/PopForums.Test/Extensions/StringTests.cs index 5a59e664..a1877783 100644 --- a/src/PopForums.Test/Extensions/StringTests.cs +++ b/src/PopForums.Test/Extensions/StringTests.cs @@ -24,15 +24,17 @@ public void IsEmailTest() Assert.True("obama@whitehouse.gov".IsEmailAddress()); Assert.True("a_b@c.net".IsEmailAddress()); Assert.True("a.b@site.co.uk".IsEmailAddress()); + Assert.True("ora@mixedmedia.studio".IsEmailAddress()); } [Fact] public void IsNoteEmailTest() { Assert.False("a@c".IsEmailAddress()); + Assert.False("abc@examplecom".IsEmailAddress()); + Assert.False("ora.mixedmedia.studio".IsEmailAddress()); Assert.False("a a@c.com".IsEmailAddress()); Assert.False("aa@c a.com".IsEmailAddress()); - Assert.False("a!a@c.com".IsEmailAddress()); Assert.False("aa@coishd!iwe.com".IsEmailAddress()); } diff --git a/src/PopForums/Extensions/Strings.cs b/src/PopForums/Extensions/Strings.cs index 749e5b8e..ea224b50 100644 --- a/src/PopForums/Extensions/Strings.cs +++ b/src/PopForums/Extensions/Strings.cs @@ -44,7 +44,7 @@ public static string GetMD5Hash(this string text, Guid salt) public static bool IsEmailAddress(this string text) { - return Regex.IsMatch(text, @"^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$", RegexOptions.IgnoreCase); + return Regex.IsMatch(text, @"^\S+?@([a-z0-9\-\.])+?\.([a-z0-9\-\.])+$", RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture); } public static string ToUrlName(this string text) @@ -87,4 +87,4 @@ public static string Trimmer(this string stringToTrim, int maxLength) return stringToTrim.Substring(0, maxLength - 13) + "..." + stringToTrim.Substring(stringToTrim.Length - 10, 10); } -} \ No newline at end of file +}