mvc 数据注释限制用户不允许只允许数字和特殊字符

mvc data annotation to restrict user to not allow only numeric numbers and special characters

我正在尝试验证用户的输入以仅插入字母数字字符,包括特殊字符,如 .,_ white space。

Point 1. the user cant insert only special characters like @@@@@@@ or .........
Point 2. or any numeric numbers like 2222222.

它应该是任何有效的格式。 "hi i am asking a question on stack overflow.this is my 11th attempt. "

我尝试了这些表达式,但它不能让我像点 1 和 pont 2 那样限制用户,请帮助。

这是我的代码

[RegularExpression(@"^([a-zA-Z0-9 \.\&\'\-]+)$", ErrorMessage = "Invalid User Name")]
        public string UserName { get; set; }
        [Required]
        [StringLength(250, MinimumLength = 5, ErrorMessage = "User Description must have minimum 5 and maximum 250 characters.")]
        [RegularExpression(@"^[^<>!@#%/?*]+$", ErrorMessage = "Invalid User Description")]
        public string Description { get; set; }

您需要在开始时使用负前瞻。

@"^(?![\W_]+$)(?!\d+$)[a-zA-Z0-9 .&',_-]+$"

DEMO

  • (?![\W_]+$) 否定先行断言该字符串不会仅包含特殊字符。

  • (?!\d+$) 断言字符串不会只包含数字。

^(?=.*[a-zA-Z])[a-zA-Z0-9,_.&' -]+$

您可以通过 lookahead 强制执行条件,声明 letter 始终是必需的。