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)
试试这个
^(?! )(?!.* $)(?=[^.]*\.?[^.]*$)(?=[^-]*-?[^-]*$)(?!.*? {2,})[a-zA-Z0-9äöüÄÖÜ .-]+$
Run Code Online (Sandbox Code Playgroud)
在Regexr上看到它
^并且$是与字符串的开头和结尾匹配的锚点
[a-zA-Z0-9äöüÄÖÜ .-]+是一个带有量词的字符类(+=> 1或更多)此部分匹配您想要允许的所有字符.
该(?!)和(?=) 是正/负的样子aheads.他们验证您设置的条件.
(?! )不以空格开头不以空格
(?!.* $)结尾
(?=[^.]*\.[^.]*$)只允许一个点,字符串中的任何位置
(?=[^-]*-[^-]*$)只允许一个短划线,字符串中的任何位置不允许
(?!.*? +)按顺序排列多个空格