【发布时间】:2014-05-21 22:40:03
【问题描述】:
您好,我需要验证应仅接受字母数字、-、_ 的输入 为了测试这一点,我使用以下代码
string pattern = @"[^a-z A-Z 0-9._-]$";
var matches = Regex.Matches(m_ModelName.Value, pattern, RegexOptions.IgnoreCase);
return (matches.Count > 0);
如果计数>0,则表示存在无效字符。但它永远不会按照我的期望返回。请告诉我我做错了什么。这是严格的 c#
【问题讨论】:
-
尝试转义正则表达式中的句点,使用反斜杠
\.,否则它可能匹配所有字符 -@"[^a-z A-Z 0-9\._-]$" -
@Mark 字符类中的句点loses its regex meaning.
-
@HamZa 谢谢!至少我学到了一些东西! :-)
-
@user841612 你可能需要删除
$,因为它意味着end of string。 -
尝试使用
IsMatch这将表明真或假
标签: c# regex validation