diff options
Diffstat (limited to 'src/Utilities/Validators.cs')
| -rw-r--r-- | src/Utilities/Validators.cs | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/Utilities/Validators.cs b/src/Utilities/Validators.cs new file mode 100644 index 0000000..e49d49a --- /dev/null +++ b/src/Utilities/Validators.cs @@ -0,0 +1,50 @@ +using System; +using System.Text.RegularExpressions; + +namespace IOL.Fagprove.Utilities +{ + public static class Validators + { + public static bool IsEmail(this string email) + { + try + { + const string pattern = + @"^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$"; + var regex = new Regex(pattern); + var match = regex.Match(email); + return match.Success; + } + catch + { + return false; + } + } + + public static bool IsMissing(this string value) + { + return string.IsNullOrWhiteSpace(value); + } + + public static bool IsPresent(this string value) + { + return !value.IsMissing(); + } + + public static bool IsNumeric(this string value) + { + var r = new Regex(@"[0-9]"); + return r.IsMatch(value); + } + + public static bool IsInt(this string value) + { + return int.TryParse(value, out _); + } + + public static bool IsGuid(this string value) + { + return Guid.TryParse(value, out _); + } + } +}
\ No newline at end of file |
