不允许使用 DataAnnotations 的特殊字符

Don't allow special characters with DataAnnotations

我的 ViewModel 中有一个字符串 属性,我想将其设置为不允许使用某些特殊字符,例如 , :, *,?, ", <, > 和 |。 我怎样才能写一个正则表达式来做到这一点?

可能是正确的 [RegularExpression(@"^[^\/:<>?|;.)(]+$")]* ?

有个问题,一些特殊符号是什么。如果完整列表是

, :, *,?, ", <, > and |

那么你可以把它写成

[RegularExpression(@"^[^,:*?""<>\|]*$")]

但是,如果您想排除所有 标点符号 (, :, *, ?, ") 和 math 符号 (<, >, |), 你可以把

[RegularExpression(@"^[^\p{P}\p{Sm}]*$")]