正则表达式,用于输入至少两个字母数字字

时间:2015-02-12 11:22:00

标签: regex

如何修改我的正则表达式,在文本框中输入至少两个单词。 这是我的正则表达式。假设用户可以 输入仅“ miranda ”,她必须输入 miranda klose < /强>”。

[Required]
[StringLength(50, MinimumLength = 10, 
        ErrorMessage = "Name must have minimum 10 and maximum 50 characters.")]
[RegularExpression(@"^(?![\W_]+$)(?!\d+$)[a-zA-Z0-9 .&',_-]+$", 
        ErrorMessage = "Invalid Name ")]
public string Name { get; set; }

1 个答案:

答案 0 :(得分:1)

将正则表达式更改为,

@"^(?![\W_]+$)(?!\d+$)[\w .&',-]+(?:\s[\w .&',-]+)+$"

+重复前一个标记一次或多次。因此,在捕获或非捕获之后放置+将使整个组重复一次或多次。

DEMO

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

这与开头有空格的名称不匹配。