【发布时间】:2013-05-29 03:57:52
【问题描述】:
我有一个实体框架模型,我已经对其进行了一些验证,特别是一个接受字母数字、空格和一些标点符号的正则表达式。但是,当尝试添加斜杠“/”作为可接受的字符时,它似乎允许一些额外的不可接受的字符(在本例中为逗号)。
表达式 1:
[RegularExpression(@"[\w\s.()&'-]+", ErrorMessage = "Contains an illegal character")]
这适用于除正斜杠之外的所有预期字符(即它不接受逗号,但也不接受斜杠)
表达式 2:
[RegularExpression(@"[\w\s.()&'-/]+", ErrorMessage = "Contains an illegal character")]
这现在接受斜杠(很好),但现在也接受逗号(不需要)
表达式 3:
[RegularExpression(@"[\w\s.()&'-\/]+", ErrorMessage = "Contains an illegal character")]
尝试转义正斜杠。效果与表达式 2 相同,接受斜杠和逗号
这只是我需要做的一些奇怪的转义或类似的技巧吗? .Net 正则表达式的一些副作用?我绝对认为“表达式 2”会接受斜杠,但不接受逗号,但事实似乎并非如此。
【问题讨论】:
标签: .net regex entity-framework validation