A.以下正确的输入格式: [2004-2-29], [2004-02-29 10:29:39 pm], [2004/12/31]
^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[1-9])|(1[0-2]))\:([0-5][0-9])((\s)|(\:([0-5][0-9])\s))([AM|PM|am|pm]{2,2})))?$
具体使用:
日期:<asp:TextBox >//时间部分
System.Text.RegularExpressions.RegexOptions options = ((System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace | System.Text.RegularExpressions.RegexOptions.Multiline) | System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(regex, options);
string s = "2003-02-29 23:59:59";
System.Console.Out.WriteLine(s + " {0}",reg.IsMatch(s));
s = "2004-02-29 23:59:59";
System.Console.Out.WriteLine(s + " {0}",reg.IsMatch(s));
s = "2004-04-30 0:59:59";
System.Console.Out.WriteLine(s + " {0}",reg.IsMatch(s));
s = "2004-04-30 01:11:0";
System.Console.Out.WriteLine(s + " {0}",reg.IsMatch(s));
s = "2004-04-30 0:0:0";
System.Console.Out.WriteLine(s + " {0}",reg.IsMatch(s));
s = "2004-04-30 00:00:00";
System.Console.Out.WriteLine(s + " {0}",reg.IsMatch(s));
}
}
判断输入的是否全是数字/字母.
using System.Text.RegularExpressions;
private void Button3_Click(object sender, System.EventArgs e)
{
string str = this.TextBox2.Text.Trim();
System.Text.RegularExpressions.Regex strRegex = new Regex(@"[0-9]",RegexOptions.IgnoreCase);
//MatchCollection metches = strRegex.Matches(str);
if(strRegex.Matches(str).Count == str.Length)
{
Response.Write("<br>输入的全是数");
}
System.Text.RegularExpressions.Regex strRegex2 = new Regex(@"[a-z]",RegexOptions.IgnoreCase);
if(strRegex2.Matches(str).Count == str.Length)
{
Response.Write("输入的全是字母");
}
}