我正在使用我的rails应用程序验证名称的格式。我需要更新它,所以它不接受像mike.jones
这样的东西
/([A-Za-z ',.-]+)/
'Baxter',
'Doe de Sour Jr.',
'Smith-Brown',
"Mathias d'Arras",
"d'Arras",
'King, Jr.',
'Cotton III'
'Baxter2',
'user@gmail',
'#michael',
'tina.fay'
当您需要考虑有效名称中间出现的句点时,答案有点复杂。根据你的描述,规则似乎是句号很好,只要它们不会立即后跟字母。这可以通过正则表达式预测完成:
^(?!.*\.\S)[A-Za-z ',.-]+$
但是:ぁzxswい
然后你只需要将https://regex101.com/r/LkUl38/2移动到你的正则表达式的末尾(然后逃避它),这样你仍然可以在名字的末尾找到.
的人:
Jr.
它应该工作正常。 /([A-Za-z ',-]+\.?)/
如果你有兴趣,有一些Try it online!用于学习正则表达式。