嗨,我有这段代码
[RegularExpression(@"^[.\\\\/:*?\" + "<>" + "|]?[\\\\/:*?\"<>|]*",
ErrorMessage = "Title must not contain any special characters")]
我想要它所以字符串除了空格之外不能有任何特殊字符,但我不确定为什么这不起作用?
编辑:
要确认,表单不会使用字符串输入提交:nospecialcharacters
无论是否有特殊字符,都会显示错误消息。
答案 0 :(得分:1)
我还想进行验证,以消除Windows文件和文件夹名称中不允许的字符。
由于我使用的语言使用了一些“特殊”字符,如Š,Č和Ž,上面的答案确实不为我工作。 "^[\w ]+$"
将这些字母视为特殊字符
经过广泛的搜索后,我找不到正确的答案。
最后我解决了我的问题:
[RegularExpression(@"[^|\\/:*?\u0022<>|]+$", ErrorMessage = "Title must not contain any special characters")]
\u0022
代表“。
我在形成这个字符串时遇到了一些问题。我试过了:
@"[^|\\/:*?\"<>|]+"
但“在中间结束了我的字符串"[^|\\/:*?\"<>|]+"
但忽略了反斜杠 \ 答案 1 :(得分:0)
我无法真正了解您当前的正则表达式,但请记住,此属性指定该属性必须匹配正则表达式(而不是它必须不匹配它)。因此,如果您不想要任何特殊字符,则需要指定该属性与以下模式匹配:
这样的事情应该这样做:
"^[\w ]+$"
将任何其他允许的字符(例如破折号)添加到方括号中。
您可能也可以省略^
和$
个字符,因为我认为这些字符是隐含的;不过,我发现最好明确这些事情。