Imports System.Text.RegularExpressions
Dim Phone = GeneratePhoneNumber()
Console.WriteLine(IsValidPhoneNumber(Phone))
Console.WriteLine(IsValidEmail("matt@pavey.n"))
Console.WriteLine(IsValidEmail("matt@pavey.net"))
Console.WriteLine(IsValidEmail("matt@grin.agency"))
Console.WriteLine(IsValidEmail("matt@grin"))
Console.WriteLine(IsValidEmail("matt@grin."))
Console.WriteLine(IsValidEmail("matt@grin.x"))
Console.WriteLine(IsValidEmail("matt's@gmail.com"))
LastNotificationSent = DateTime.Now.AddMinutes(-6)
Private Function GeneratePhoneNumber() As String
Dim npa, nxx, xxxx As String
npa = r.Next(100, 999).ToString()
Loop Until New Regex("^([2-9][0-8]\d)$").IsMatch(npa)
nxx = r.Next(100, 999).ToString()
Loop Until New Regex("[2-9]((0|[2-9])\d|\d(0|[2-9]))").IsMatch(nxx)
xxxx = r.Next(1000, 9999).ToString()
return String.Join("-", {npa, nxx, xxxx})
Public Function IsValidPhoneNumber(Value As String) As Boolean
Return Regex.Match(Value, "^[01]?[- .]?(\([2-9]\d{2}\)|[2-9]\d{2})[- .]?\d{3}[- .]?\d{4}$").Success
Public Function IsValidEmail(Value As String) As Boolean
Return Regex.Match(Value, "^[A-Z0-9.'_%+-]+@[A-Z0-9.-]+\.[A-Z]+$", RegexOptions.IgnoreCase).Success
Private LastNotificationSent As DateTime = DateTime.MinValue
Private Function SendNotification() As Boolean
Dim EmailSubject As String = "Atlas Security Active Directory Exception"
Dim EmailBody As String = String.Empty
If DateTime.Now.Subtract(LastNotificationSent).TotalMinutes < 5 Then
Console.WriteLine("SendNotification complete")
LastNotificationSent = DateTime.Now