Java 用于人名的正则表达式
我想对人名进行文本字段验证。我希望人名在以下情况下有效:Java 用于人名的正则表达式,java,regex,validation,Java,Regex,Validation,我想对人名进行文本字段验证。我希望人名在以下情况下有效: 它只包含英文字母a-z,a-z 它可能包含多个空格字符 它可以包含任何数量的点字符,如A.B.Devilliers 我试过什么 NAME_REGEX="(\\w|\\s|(\\.))+" 注意:我在Java工作 当我有NAME_REGEX=“(\\w|\\s)+”时,规则1。二,。都被跟踪了,但我也想要3。规则。试试这个用于java的正则表达式: NameRegex = ^^[a-z A-Z\\.\\s]+$ 很难指定名称中应
a-z
,a-z
A.B.Devilliers
NAME_REGEX="(\\w|\\s|(\\.))+"
注意:我在Java工作
当我有
NAME_REGEX=“(\\w|\\s)+”
时,规则1。二,。都被跟踪了,但我也想要3。规则。试试这个用于java的正则表达式:
NameRegex = ^^[a-z A-Z\\.\\s]+$
很难指定名称中应允许的内容,因此尝试过多调整可能会适得其反。如果有什么的话,我会偏误或允许更多的事情发生 在我看来,你想要这样的东西:
(?i)^(?:[a-z]+(?: |\. ?)?)+[a-z]$
在上,查看允许使用哪些名称
- 我假设你想以一封信开头和结尾
- 您没有指定任何字母必须特别大写,因此这将接受
aLan parsoN
- 如果你想让报价或其他字符,让我知道李>
使我们处于不区分大小写的模式(?i)
断言我们位于字符串的开头^
匹配{任何字母,可选后跟空格或点或点空格},一次或多次(?:[a-z]+(?:\.?)+
确保最后一个字符是字母[a-z]$
NAME\u REGEX
做你想做的事吗?你对那些有名字但不遵守这些规则的人怎么办?包含像“üöäßí”这样的字符。。。特别是对于名字,拼写可能非常重要……也许对于NAME_REGEX=“(\\w\124;\\ s|([A-Z]\\)+”
来说,要确保点在大写字母之后:),正如dthough所说,你的规则可能会因为很少的名字而有问题(例如我的名字包含一些“-”)@Nizil:那么名字的REGEX应该是什么,据你所说,试图在不受规则约束的事情上强制执行规则,结果总是很糟糕。你不可能比其他人更清楚什么是“有效”名称,什么不是(没有有效名称)——如果我真的想,我可以合法地将我的名称更改为像j0N4tH/-\n这样愚蠢的名称,这意味着我要么不能使用你的应用程序,要么被迫输入错误的数据。不要试图在不受规则约束的事情上强制执行规则。你是对的,但我也希望名称没有点,如“Virat Kohli”中所述。是的,这允许名称没有点。马上发布演示和解释。:)好的,添加了演示和解释,如果您需要任何调整,请告诉我。:)非常好,但您不允许使用多个空格(懒惰的android应用程序用户可能会这样做)。但是很好,我没有特权投票给你的答案。不,这需要任何空间。我想应该是“^[a-z a-z\\.\\s]+$”。您正在添加一个额外的^ya您可以用^a-z a-z\\\.\\s]+$替换它^a-z a-z\\.\\s]+$输出没有变化…..请为您的答案写一些解释。这个正则表达式将认为它只包含英文字母a-z,a-z它可能包含多个空格字符它可能包含任何数量的点字符