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); }
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 }); } }
/// <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>", " "); }
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); }
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); }
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); }
public Repeat(RegExpression expr) { Expr = expr; }
public Concatenation(RegExpression factor, RegExpression rest) { Subexpressions = Merge <Concatenation>(factor, rest, c => c.Subexpressions); }
public Variants(RegExpression term, RegExpression rest) { Subexpressions = Merge <Variants>(term, rest, c => c.Subexpressions); }
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); }