验证TextBox输入,用正则表达式.
单位有公寓楼A,B,C,D栋,层数从5-30层,没有13,14,24层,每层有A,B,C,D,E,F,G,H户。
输入A12H代表A栋12层H户, C30F代表C栋30层F户.
为了验证TextBox输入,用正则表达式[abcd]|[ABCD][5-9]|1[012]|1[5-9]|2[0123]|2[5-9]|3[0][a-h]|[A-H]测试,但是不合格。
那位大咖能给一个指教,不胜感激。
string address = this.TextBoxAddr.Text.ToUpper();//正则表达式[abcd]|[ABCD][5-9]|1[012]|1[5-9]|2[0123]|2[5-9]|3[0][a-h]|[A-H]
string RegexStr = @"A|B|C|D[5-9]|1[012]|1[5-9]|2[0123]|2[5-9]|30A|B|C|D|E|F|G|H";
MessageBox.Show(address);
MatchCollection mc = Regex.Matches(address, @"A|B|C|D[5-9]|1[012]|1[5-9]|2[0123]|2[5-9]|30A|B|C|D|E|F|G|H");
foreach (Match item in mc)
{
MessageBox.Show(item.Value);
}
if (Regex.IsMatch(address, @"A|B|C|D[5-9]|1[012]|1[5-9]|2[0123]|2[5-9]|30A|B|C|D|E|F|G|H"))
{
MessageBox.Show(address + "匹配" + RegexStr);
}
else
{
MessageBox.Show(address + "不匹配" + RegexStr);
}