我正在创建一个用户输入表单,用户可以在其中输入自己的姓名,我想使用正则表达式来表示以下模式:
^[A-Za-z_äõÖÜß_.-]*
它只应该接受上面的字母,如果有,则接受句点,如果有则接受斜杠。
此外,我希望它接受空白,但不在开头,也不在结尾,并且名称部分之间只有一个空白。
例如,如果用户名是Dora F.T.Kov,则它应该是有效的。
如果我将\\s添加到正则表达式中,它允许在字符串中的任何位置使用任意数量的空格。
我该如何根据上述概念重写它呢?
提前非常感谢!
怎么样:
^[A-Za-z_äÄöÖüÜß_.-]+(?: [A-Za-z_äÄöÖüÜß_.-]+)*$
参见regex演示
^
-匹配字符串的开头[A-Za-z_äÄöÖüÜß_.-]+
匹配这些允许的字符中的一个或多个(?: [A-Za-z_äÄöÖüÜß_.-]+)*
-后面出现0次或多次:单个空格后面跟着一个或多个允许的字符$
-匹配字符串末尾
尝试:^[A-Za-z_äÄöÖüÜß_.-]*(?: [A-Za-z_äÄöÖüÜß_.-]*)*$
看到它在这里工作