コード例 #1
0
ファイル: RegexValidator.cs プロジェクト: jjg0519/OA
 protected override bool ValidateControl()
 {
     if (ElementToValidate is TextBox && RegExpression != null)
     {
         TextBox box = ElementToValidate as TextBox;
         if (String.IsNullOrEmpty(box.Text))
         {
             return(!IsRequired);
         }
         return(RegExpression.Match(box.Text).Success);
     }
     return(true);
 }
コード例 #2
0
    protected static IEnumerable <RegExpression> Merge <T>(RegExpression head, RegExpression tail, Func <T, IEnumerable <RegExpression> > selector)
        where T : RegExpression
    {
        var other = tail as T;

        if (other != null)
        {
            return(new[] { head }.Concat(selector(other)));
        }
        else
        {
            return(new[] { head, tail });
        }
    }
コード例 #3
0
 /// <summary>
 /// Constructor
 /// </summary>
 private void loadDefault()
 {
     RegExpression.Add("<b>", " **");
     RegExpression.Add("<br>", "\n");
     RegExpression.Add("<code>", "`");
     RegExpression.Add("</code>", "`");
     RegExpression.Add("<i>", "*");
     RegExpression.Add("</i>", "*");
     RegExpression.Add("</b>", "** ");
     RegExpression.Add("<strong>", "**");
     RegExpression.Add("</strong>", "**");
     RegExpression.Add("<blockquote>", ">");
     RegExpression.Add("</blockquote>", " ");
 }
コード例 #4
0
        public string Parse(string text)
        {
            const int start = 0;
            var       m     = RegExpression.Match(text, start);

            while (m.Success)
            {
                text = text.Remove(m.Index, m.Length);
                var insertion = String.Format(Replacement, m.Value);
                text = text.Insert(m.Index, insertion);
                m    = m.NextMatch();
            }

            return(text);
        }
コード例 #5
0
        public string replaceRegEx(string word)
        {
            var regList = RegExpression.Where(x => word.IndexOf(x.Key) != -1).ToList();

            if (regList.Count > 0)
            {
                foreach (var regEx in regList)
                {
                    int _index = word.IndexOf(regEx.Key);
                    if (_index != -1)
                    {
                        word = word.Replace(regEx.Key, regEx.Value);
                    }
                }
            }
            return(word);
        }
コード例 #6
0
ファイル: Shift.cs プロジェクト: tuzajohn/Awms_Fyp
        public DataTable CreateShiftTable(Dictionary <int, List <List <string> > > dictionary)
        {
            RegExpression er = new RegExpression();

            var(check, result) = er.IsPassword("kfsdfs");

            DataTable table = new DataTable("shift");

            table.Columns.Add("Day");
            table.Columns.Add("PERIOD1"); //0-4
            table.Columns.Add("PERIOD2"); //4-8
            table.Columns.Add("PERIOD3"); //8-12
            table.Columns.Add("PERIOD4"); //12-16
            table.Columns.Add("PERIOD5"); //16-20
            table.Columns.Add("PERIOD6"); //20-24
            DataColumn[] keyColumns = new DataColumn[1];
            keyColumns[0]    = table.Columns["Day"];
            table.PrimaryKey = keyColumns;
            int cellCounter = 0;

            foreach (var cellList in dictionary)
            {
                DataRow row = table.NewRow();
                foreach (var periodList in cellList.Value)
                {
                    if (cellCounter % 7 != 0)
                    {
                        var count = periodList.Count;
                        for (int i = 0; i < periodList.Count && !string.IsNullOrEmpty(periodList[i]); i++)
                        {
                            row[cellCounter] += periodList[i] + ":";
                        }
                    }
                    else
                    {
                        row[cellCounter] = DaysOfWeek[cellList.Key];
                    }
                    cellCounter++;
                }
                cellCounter = 0;
                table.Rows.Add(row);
            }
            return(table);
        }
コード例 #7
0
 public Repeat(RegExpression expr)
 {
     Expr = expr;
 }
コード例 #8
0
 public Concatenation(RegExpression factor, RegExpression rest)
 {
     Subexpressions = Merge <Concatenation>(factor, rest, c => c.Subexpressions);
 }
コード例 #9
0
 public Variants(RegExpression term, RegExpression rest)
 {
     Subexpressions = Merge <Variants>(term, rest, c => c.Subexpressions);
 }
コード例 #10
0
ファイル: Validate.cs プロジェクト: jaespinol/DAMASCart
 public bool Match()
 {
     if (Type == ValidationType.Email)
     {
         var emails = new string[]
         {
             "@gmail", "@hotmail", "@live", "@yahoo", "@"
         };
         var ends = new string[]
         {
             ".com", ".net", ".mx", ".es"
         };
         return(emails.Any(e => Text.Contains(e)) && ends.Any(e => Text.EndsWith(e)));
     }
     else if (Type == ValidationType.CreditCardNumber)
     {
         var textchars   = Text.ToCharArray();
         var creditcard  = textchars.ToList();
         int sumOfDigits = creditcard.Where((e) => e >= '0' && e <= '9')
                           .Reverse()
                           .Select((e, i) => ((int)e - 48) * (i % 2 == 0 ? 1 : 2))
                           .Sum((e) => e / 10 + e % 10);
         return(sumOfDigits % 10 == 0);
     }
     else if (Type == ValidationType.CreditCardDate)
     {
         if (Text.Length == 5)
         {
             if (Text.Contains("/"))
             {
                 var date = Text.Split('/');
                 if (date.Length == 2)
                 {
                     var month = 0;
                     var year  = 0;
                     if (int.TryParse(date[0], out month))
                     {
                         if (month > 0 && month < 13)
                         {
                             if (date[1].Length == 4)
                             {
                                 if (int.TryParse(date[1], out year))
                                 {
                                     return(true);
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     else if (Type == ValidationType.CreditCardCVV)
     {
         if (Text.Length == 3)
         {
             var cvv = 0;
             return(int.TryParse(Text, out cvv));
         }
     }
     else if (Type == ValidationType.Phone)
     {
         return(RegExpression.IsMatch(Text));
     }
     else
     {
         return(RegExpression.IsMatch(Text));
     }
     return(false);
 }