正则表达式检查只有名字

时间:2017-12-21 08:49:04

标签: javascript regex

我需要检查用户是否在表单字段中键入了名字和姓氏,这很容易。问题是我想让用户只输入名字而我的表达不允许这样做。我应该如何重建我的表达呢?

var nameReg = new RegExp("^[A-Z-zóąśłżźćńÓĄŚŁŻŹĆŃ ][a-z-zóąśłżźćńÓĄŚŁŻŹĆŃ ]{2,20} [A-Z-zóąśłżźćńÓĄŚŁŻŹĆŃ][a-z-zóąśłżźćńÓĄŚŁŻŹĆŃ]{1,35}$");

if(!nameReg.test(cname)) {  
    alert('Letters only in name field');
    return false;   
}

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我认为这很简单

  ^[A-Za-zóąśłżźćńÓĄŚŁŻŹĆŃ]{2,20}[\s]*$
  • 这只匹配一个以任何字母开头的字符串(和那些标志)
  • 并以任何这些字母或任意数量的空格结尾
  • 但如果在此之后遇到任何空格字符,则不会匹配

有关说明,请参阅此regex101代码段

答案 1 :(得分:0)

试试这个正则表达式

/^[a-z ,.'-]+$/i

因为名字可以包含这样的名字

Ashley D'souza
Martin Luther King, Jr.
Hector Sausage-Hausen