我想写一个regexp来检查用户是否插入了至少两个由至少一个空格分隔的单词:
例:
var regexp = new RegExp(/^[a-z,',-]+(\s)[a-z,',-]+$/i);
regexp.test("D'avid Camp-Bel"); // true
regexp.test("John ---"); // true // but it should be false!
Run Code Online (Sandbox Code Playgroud)
dlr*_*as2 14
^[a-z]([-']?[a-z]+)*( [a-z]([-']?[a-z]+)*)+$对你有用吗?
[a-z]确保名称始终以字母开头,然后[-']?[a-z]+允许分隔字符,只要它后跟至少另一个字母.*允许任何数量的这些部件.
下半部分( [a-z]([-']?[a-z]+)*)匹配一个空格,后跟另一个相同模式的名称.+确保至少有一个额外的名称,但允许更多.({1,2}如果您只想允许两个或三个部件名称,则可以使用.
小智 5
更简单的版本
/^([\w]{3,})+\s+([\w\s]{3,})+$/i
Run Code Online (Sandbox Code Playgroud)
([\w]{3,})名字应该只包含字母并且长度为 3 或更多
+\s名字后面应该跟一个空格
+([\w\s]{3,})+第二个名字应该只包含长度为 3 或更多的字母,并且后面可以跟其他名字
/i忽略字母的大小写。可以是大写或小写字母