c# - 禁止逗号的正则表达式

标签 c# regex asp.net-mvc-3

我试图禁止在输入到文本框中的字符串中使用逗号。这是我到目前为止所拥有的:

[RegularExpression (@"?[^,]*$",
        ErrorMessage = "Commas are not allowed in the subtask title. Please remove any and try again")]

这可能是我的第 5 次或第 6 次尝试,到目前为止没有任何效果。任何帮助,将不胜感激。

最佳答案

尝试将您的正则表达式更改为:

"^[^,]+$"

假设我们正在匹配 "Hello, world"
第一个 ^ 断言我们在字符串的开头。接下来 [^,] 是一个字符类,意思是“除 , 之外的任何字符”。某物旁边的 + 表示“匹配一次或多次”。最后, $ 断言我们现在位于字符串的末尾。

所以,这个正则表达式的意思是“在字符串的开头( ^ ),匹配任何不是逗号( [^,] )的字符一次或多次( + ),直到我们到达字符串的结尾( $ )。

这个正则表达式将在 "Hello, world" 上失败 - 对于 Hello ,一切都会好的

有关正则表达式的一些很棒的教程,您应该阅读 http://www.regular-expressions.info/

关于c# - 禁止逗号的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24805128/

相关文章:

java - 匹配 INI 节 block

Java计算字符串中某个单词的出现次数

jquery - 自定义验证未按预期触发

asp.net-mvc-3 - 列表中字段的 MVC3 远程验证

jquery - AJAX MVC3 jquery ajax 回调总是在成功时进入

C#编译错误: "No logical space left to create more user strings"

c# - EF 使用跳过并执行存储过程

区分//(注释)与/(除法)的正则表达式,反之亦然

c# - 单击关闭窗口按钮更改操作

c# - 你能以编程方式在 C# 中的 ProjectItem 上执行 'Run Custom Tool' 吗?