当前位置: 首页 > 知识库问答 >
问题:

Java Regex验证全名仅允许空格和字母

堵才哲
2023-03-14

我希望正则表达式仅验证字母和空格。基本上这是为了验证全名。例如:史蒂夫柯林斯先生或史蒂夫柯林斯我尝试过这个正则表达式。“[a-zA-Z] \.?”但没有用。有人可以帮我吗 附言我使用Java。

public static boolean validateLetters(String txt) {

    String regx = "[a-zA-Z]+\\.?";
    Pattern pattern = Pattern.compile(regx,Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher(txt);
    return matcher.find();

}

共有3个答案

周宏伯
2023-03-14

对于那些使用java / android并为此苦苦挣扎的人,请尝试:

"^\\p{L}+[\\p{L}\\p{Z}\\p{P}]{0,}"

这适用于以下名称

    < li >若泽·布拉索
毕和志
2023-03-14

尝试此正则表达式(允许字母、点、空格):

"^[A-Za-z\s]{1,}[\.]{0,1}[A-Za-z\s]{0,}$" //regular
"^\pL+[\pL\pZ\pP]{0,}$" //unicode

这也将确保DOT永远不会出现在名称的开头。

黄淇
2023-03-14

关于:

  • 彼得·穆勒
  • 弗朗索瓦·奥朗德
  • 帕特里克·奥布赖恩
  • Silvana Koch-Mehrin

验证名称是一个难题,因为有效名称不仅由字母 A-Z 组成。

至少您应该对字母使用Unicode属性并添加更多特殊字符。第一种方法可能是例如:

String regx = "^[\\p{L} .'-]+$";

\\p{L}是一个Unicode字符属性,可匹配来自任何语言的任何类型的字母

 类似资料:
  • 问题内容: 我希望正则表达式仅对字母和空格进行验证。基本上,这是为了验证全名。例如: Steve Collins先生或Steve Collins先生, 我尝试过此正则表达式。“ [a-zA-Z] + \。?” 但没有工作。有人可以帮我吗,请注意我使用Java。 问题答案: 关于什么: 彼得·米勒 弗朗索瓦·奥朗德 帕特里克·奥布莱恩 西尔瓦娜·科赫·梅林 验证名称是一个难题,因为有效名称不仅包含字

  • 我一直在捕捉非数字时遇到问题。 我试过了,但抓不住。如果我让它捕获非数字,但不让用户再次尝试输入。。。它完全停止了我的代码。 这是我的密码:

  • 现在,我只想让那些已经注册并用我们的软件验证过的用户登录,我已经将用户的电子邮件列表(去掉特殊字符)保存在Firebase内部。当前,当用户登录时,我使用以下功能检查他们的邮件是否在此列表中: 虽然这种方法起作用,但它相当笨拙,因为用户仍然能够在函数回调被调用之前进行初始登录,并且他们的电子邮件仍然显示在FireBase中的“Authentication”选项卡中。 有没有更好的方法只允许预先验证

  • 我们正在构建一个需要精确性的apiendpoint。我们希望对POST/PUT到服务器的参数实施严格的验证。 如果api用户发送了一个不受支持的对(例如,我们允许参数[first\u name,last\u name],并且用户包含一个不受支持的参数[country]),我们希望验证失败。 已尝试构建名为(用作)的自定义验证器,但要使其在数组中可用,必须将其应用于嵌套/子属性列表的父级(…因为我们

  • 问题内容: 验证输入字段具有以下要求: 它只能包含字母以及字母之间的空格。 它不能在字符串的开头或结尾包含空格。 它不能包含任何其他特殊字符。 我为此使用以下正则表达式: 但这是在开始时留有空格。任何帮助表示赞赏。 问题答案: 对我而言,唯一可行的方法是: 在字符串的开头,必须至少有一个字母。(我用Unicode代码属性替换了letter )。然后可以有一个空格,后跟至少一个字母,此部分可以重复。

  • 在我的Jitsi Meet Prodody配置文件中:~/。jitsi meet cfg/prosody/config/conf.d 我有以下配置: 有了它,我可以通过令牌进行身份验证。 但是,如果我不指定任何令牌,例如: https://jitsi.mydummyserver.com/test 然后我得到以下提示询问用户和密码: 有没有办法只允许令牌身份验证并完全摆脱那个提示? 谢谢