正则表达式:任何字符至少包含一个空格

时间:2015-12-24 12:35:17

标签: regex validation

我想强制我的用户在字符串中至少有两个单词除以空格。

允许的是任何字符串,其左侧和右侧至少有一个字符至少包含一个空格。正面没有空白,最后没有空白区域。

一些例子:

  • John Doe(有效)
  • John Walter Doe(有效)
  • 约翰(无效)
  • John $ ole(有效)
  • 3d3n 1snt f4r(有效)
  • John the 3rd(有效)
  • JöningWölter(有效)
  • JoeGarçon(有效)
  • HaraldSpaß(有效)

仅供参考:我想用这个非常弱的全名检查。由于名称中可能出现许多特殊字符,因此我只希望我的用户强制在字符串中至少包含两个单词。

3 个答案:

答案 0 :(得分:2)

如果我理解你的要求,它在正则表达式中翻译成这样:

^\S+\s+.*\S$

如果您希望空白区域只是“”,请使用

^\S+ +.*\S$

但要注意你在这里做出文化假设。真实姓名不遵守严格的规则。

答案 1 :(得分:1)

这匹配一个单词,后跟一个或多个空白组+单词

/^\S+(\s+\S+)+$/

它匹配任何空格,但也许

/^\S+( +\S+)+$/

会更好

答案 2 :(得分:0)

尝试这样的事情:

^(\S+)(\s{1}\S+)+$