我想验证一个名称。 名称必须由以“”或“ - ”分隔的单词组成。 例如:“Jean-Luc Melenchon”,“Xavi Hernandez”
答案 0 :(得分:0)
如果我的要求正确,您需要一个名称验证器,其规则是确保每个名称包含至少一个空格或一个连字符( - )。你可以使用这个正则表达式:
^.*(\s|-)+.*$
(\s|-)+
表示应至少有一个空格(\s
)或连字符(-
).*
允许空格前后的任意数量的字符将与
成功匹配Jean-Luc Melenchon
Xavi Hernandez
Lionel Messi
Zlatan Ibrahimovic
与下方不匹配(因为它们没有空格或连字符)
Deco
Rivaldo
Kaka
O'Shea
答案 1 :(得分:0)
如果这是用于实验室锻炼,请将自己敲开。如果它将用于实际应用程序,请不要认为您知道有效名称是什么。
看一看 Using RegEx for validating First and Last names in Java 和 PHP Regex for human names
Pascal Martin在后者中说,
有一天,你的代码将符合它认为的名称"错误" ......你认为当应用程序告诉他时你会怎么反应?#34;你的名字不是有效" ?
答案 2 :(得分:0)
我试过这个,似乎工作正常
[A-Za-zàâéêèìôùûçÀÂÉÊÈÌÔÙÛÇ']+(\\s|\\-[A-Z]+)*