问题描述
- 大家帮我看一下,这个正则表达式要怎么改?
-
bool IsNotNumberORHyphen(object val) { if (!SYUtil.IsValid(val) || String.IsNullOrEmpty(val.ToString())) return false; //Regex r = new Regex(@"[^[-][^0-9-]]"); Regex r = new Regex(@"^[0-9-]"); if (r.IsMatch(val.ToString())) { MessageBox.Show( "'只能输入数字及 [-]."); return true; } return false; }
我想只能输入数字以及[-],帮我怎么改才好?
解决方案
这样即可:
bool IsNotNumberORHyphen(object val)
{
if (!SYUtil.IsValid(val) || String.IsNullOrEmpty(val.ToString()))
return false;
Regex r = new Regex(@"^[d-]+$");
if (!r.IsMatch(val.ToString()))
{
MessageBox.Show( "'只能输入数字及 [-].");
return true;
}
return false;
}
解决方案二:
Regex r = new Regex(@"^-?d+$");
解决方案三:
你的需求是 只能输入一个 -
还是 可以输入多个?
解决方案四:
只能输入一个 -
: Regex r = new Regex(@"^-?d+$");
只能输入多个 -
: Regex r = new Regex(@"^[d-]+$");
时间: 2024-09-11 09:22:35