Exemplo n.º 1
0
        public async Task <IActionResult> Create(RegexForm data)
        {
            if (data != null)
            {
                Regex regex = new Regex();
                regex.Name        = data.Name;
                regex.Description = data.Description;
                regex.Value       = this.Builder(data);
                _context.Add(regex);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                return(View(data));
            }
        }
Exemplo n.º 2
0
 public string Builder(RegexForm data)
 {
     try
     {
         string length, uppercase, lowercase, specsigs, digits;
         int    min, max;
         if (data.checkMinLength == true)
         {
             min = data.minLength;
         }
         else
         {
             min = 0;
         }
         if (data.checkMaxLength == true && data.minLength <= data.maxLength) //Quick fix for exception parsing regex if minlength greater than maxlength
         {
             max = data.maxLength;
         }
         else
         {
             max = Int32.MaxValue;
         }
         length = "(?=^.{" + min + "," + max + "}$)";
         if (data.checkUppercase == true)
         {
             uppercase = "(?=(.*[A-Z]){" + data.minUppercase + ",})";
         }
         else
         {
             uppercase = null;
         }
         if (data.checkLowercase == true)
         {
             lowercase = "(?=(.*[a-z]){" + data.minLowercase + ",})";
         }
         else
         {
             lowercase = null;
         }
         if (data.checkDigits == true)
         {
             digits = @"(?=(.*\d){" + data.minDigits + ",})";
         }
         else
         {
             digits = null;
         }
         if (data.checkSpecialSigns == true)
         {
             specsigs = @"(?=(.*[^\da-zA-Z]){" + data.minSpecialSigns + ",})";
         }
         else
         {
             specsigs = null;
         }
         string result = length + uppercase + lowercase + digits + specsigs;
         return(result);
     }
     catch (Exception ex)
     {
         return(null);
     }
 }