正则表达式以在全名值之间强制实施至少一个空格

时间:2015-08-14 09:46:52

标签: regex

我想验证用户是否为全名提供了至少两个部分(名字和姓氏 - 例如:John Smith)

它必须是正则表达式,因为我想将它用于服务器端和客户端验证。

public const string NameFull = @"^[a-zA-Z\.\'\-\s]{2,50}$";

我怎样才能这样做至少需要一个空格,每边至少有两个值?

例如(匹配):" First Last","鉴于中间家庭"

例如(不匹配):" Firstnameonly"

更新: 获胜者是:

public const string NameFull = @"^(?!.{52,})[a-zA-Z\.\'\-]{2,50}(?: [a-zA-Z\.\'\-]{2,50})+$";

2 个答案:

答案 0 :(得分:1)

^[a-zA-Z\.\'\-]{2,50}(?: [a-zA-Z\.\'\-]{2,50})+$

您可以确保space分开的单词。请参阅演示。

https://regex101.com/r/uF4oY4/28

答案 1 :(得分:0)

您可以使用:

public const string NameFull = @"^[a-zA-Z.'-]+(?: +[a-zA-Z.'-]+)+$";

RegEx Demo