正则表达式检查只有名字

问题描述 投票:1回答:2

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

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;   
}

有任何想法吗?

javascript regex
2个回答
0
投票

我认为这很简单

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

有关解释,请参阅此regex101片段


0
投票

试试这个正则表达式

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

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

Ashley D'souza
Martin Luther King, Jr.
Hector Sausage-Hausen
© www.soinside.com 2019 - 2024. All rights reserved.