需要正则表达式

Pus*_*dra 1 javascript regex jquery

我需要编写一个正则表达式,它应该允许标准字符[a-zA-Z0-9]加上每个单词之间的一个空格,变音符号[äöüÄÖÜ],点(.)和连字符(-)以及其他特殊字符.

例如 :

应该允许以下内容:

Dr. Aaryan Joshi    
Phill Rozer MSc.    
Ajay Verma5    
Rajan-Verma MSc.
Run Code Online (Sandbox Code Playgroud)

不应允许以下内容:

Ajay     Verma
Dr. Ajay. Verma.
Test Name.-.Name2
Run Code Online (Sandbox Code Playgroud)

ste*_*ema 7

试试这个

^(?! )(?!.* $)(?=[^.]*\.?[^.]*$)(?=[^-]*-?[^-]*$)(?!.*? {2,})[a-zA-Z0-9äöüÄÖÜ .-]+$
Run Code Online (Sandbox Code Playgroud)

在Regexr上看到它

^并且$是与字符串的开头和结尾匹配的锚点

[a-zA-Z0-9äöüÄÖÜ .-]+是一个带有量词的字符类(+=> 1或更多)此部分匹配您想要允许的所有字符.

(?!)(?=)正/负的样子aheads.他们验证您设置的条件.

(?! )不以空格开头不以空格
(?!.* $)结尾
(?=[^.]*\.[^.]*$)只允许一个点,字符串中的任何位置
(?=[^-]*-[^-]*$)只允许一个短划线,字符串中的任何位置不允许
(?!.*? +)按顺序排列多个空格