我正在尝试禁止输入文本框的字符串中的逗号。以下是我到目前为止的情况:
[RegularExpression (@"?[^,]*$",
ErrorMessage = "Commas are not allowed in the subtask title. Please remove any and try again")]
这可能是我的第5次或第6次尝试,到目前为止没有任何效果。任何帮助将不胜感激。
答案 0 :(得分:10)
尝试将正则表达式更改为:
"^[^,]+$"
假设我们匹配"Hello, world"
第一个^
断言我们在字符串的开头。下一个[^,]
是一个字符类,表示“除,
之外的任何字符”。 +
旁边的东西意味着“匹配一次或多次”。最后,$
声称我们现在处于字符串的末尾。
因此,这个正则表达式意味着“在字符串的开头(^
),匹配任何不是逗号([^,]
)的字符一次或多次(+
),直到我们到达字符串的末尾($
)。
此正则表达式将在"Hello, world"
上失败 - H
,e
,l
,l
和o
的所有内容都可以。 ,直到我们到达逗号 - 此时字符类无法匹配“不是逗号”。
关于正则表达式的一些很棒的教程,你应该阅读http://www.regular-expressions.info/