【发布时间】:2016-09-13 21:41:30
【问题描述】:
我正在尝试使用以下规则验证名称:
不区分大小写
只有字母、空格、重音字符。
至少一个空格后跟一些字母或多个字母
John D或john Doe或John X Doe不能同时有多个空格
John X Doe长度必须至少为 5(带空格)且最大为 80
我想出了(?i)^[a-z]+(?:[\ ]?[a-z]+)*$
https://regex101.com/r/bQ5oO9/1
一些问题:
仅验证“姓名”
未验证长度
不接受重音字符
【问题讨论】:
-
关于重音符号,请查看This question
[A-zÀ-ÿ]显然匹配所有字母和带有重音符号的字母。 -
在我的测试中,我不明白你所说的
Is validating only 'Name'是什么意思,它也匹配姓氏。 -
要验证长度,您可以检查匹配的长度。如果您使用属性验证,您可以添加一个
[MinLength]属性和一个[MaxLength]属性。
标签: c# regex validation