c# - Regex for two characters -
how construct regex allow enter ca or ch? tried \bc(a|h) , c(a|h) need validate in keypress event of textbox this;
private regex _regex = new regex(@"c(a|h)"); private void txtcach_keypress(object sender, keypresseventargs e) { if (char.iscontrol(e.keychar)) return; if (!_rolfregex.ismatch(e.keychar.tostring().toupper())) e.handled = true; }
you can use
if (e.keychar != (char)8) // not backspace key if (!regex.ismatch(txtcach.text.toupper() + e.keychar.tostring().toupper(), @"^c[ah]?$")) // if value not ch or ca e.handled = true; // not let pass inside keypress event handler, txtcach.text contains value before adding next key. so, full value need add newly pressed key value. after that, can check if value 1 can accept.
^c[ah]?$ this regex accepts c or ca or ch values, can type them in.
then, need validate @ other event ^c[ah]$ (leave event, example).
live validation cannot performed @ same time final validation.
Comments
Post a Comment