关于正则表达式,奇怪啊!
大家好,我用下面的正则表达式判断一个文本框输入的是不是字母 或者是 数字。
之前好用,为什么现在不好用了呢?
Regex myRegex1 = new Regex(@"^[A-Za-z0-9]+$");
------解决方案--------------------用myRegex1.IsMatch方法,没错啊,你这个是完全匹配。
------解决方案--------------------正则没错
if(Regex.IsMatch(@"^[A-Za-z0-9]+$"))//判断
{
}
不然试试@"^[A-Za-z\d]+$"
------解决方案--------------------给下调试代码,看下你验证的字符串是什么
------解决方案--------------------这样写没错,看看是不是你别的地方搞错了
System.Text.RegularExpressions.Regex reg1 = new System.Text.RegularExpressions.Regex(@"^[A-Za-z0-9]+$");
return reg1.IsMatch(str);
------解决方案--------------------断点看一下myIDNum内容是什么
------解决方案--------------------你对验证结果取反,与你的提示信息是不对应的
myIDNum是U20082时,走的是else分支
if(!myRegex1.IsMatch(myIDNum))
{
MessageBox.Show("“数字”和“字母”组成", "提示", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
------解决方案--------------------相关代码都贴一下吧,至少你贴的代码运行结果OK的
------解决方案--------------------this.ComboBox.Text:当前comboBox上显示的文本
this.ComboBox.SelectedIndex:当前comboBox选择项的索引,即第几个选择项(从0开始)
this.ComboBox.SelectedItems:当前comboBox的选择项,不是一个string类型。
------解决方案--------------------
------解决方案--------------------