Java - 全名正则表达式

2023-11-27

如何验证全名的正则表达式?我只想要字母(没有数字)和正则表达式的空格。这就是我到目前为止所做的。你能帮我修复正则表达式吗?非常感谢

public static boolean isFullname(String str) {
    boolean isValid = false;
    String expression = "^[a-zA-Z][ ]*$"; //I know this one is wrong for sure >,<
    CharSequence inputStr = str;
    Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher(inputStr);
    if (matcher.matches()) {
        isValid = true;
    }
    return isValid;
}

这个识别名字的问题非常以文化为中心,而且它确实没有希望可靠地工作。我真的建议不要这样做,因为有NO据我所知,在地球上任何国家、任何地方构成人名的规范形式。我可以合法地将我的名字更改为#&*∫Ω∆ Smith,这不适合任何人的算法。并不是说这个具体示例是很多人都会做的事情,而是很多人在考虑数据输入时不会跳出 ASCII 表进行思考,这会导致问题。

您可以反对这种情况发生的可能性,但在全球化的世界中,所有用户的名字都采用英文音译拼写的可能性越来越小。您也很可能拥有来自没有名字/姓氏概念的文化的用户。不要假设,即使您的应用程序仅在特定国家/地区运行,您的某些用户也不会来自其他地方(人们一直在从一个国家/地区迁移到另一个国家/地区,其中一些人可能希望使用您的应用程序)软件)。

保护您的应用程序免受此类字段的 SQL 注入(如果您将这些字段存储在数据库中),然后就这样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java - 全名正则表达式 的相关文章

随机推荐

  • 替换 contenteditable div 中选定的文本

    我一直在寻找答案 但失败了 是否有跨浏览器解决方案来替换所选文本内容可编辑 div 我只是希望用户突出显示一些文本并将突出显示的文本替换为xxxxx 以下内容将在所有主要浏览器中完成这项工作 function replaceSelected
  • 存储 ENUM 值的 PostgreSQL 数组

    我有一个可以有状态的表 statuses unmoderated nominee finalist winner status db Enum statuses name enum nomination status metadata db
  • 如何使用Web API限制DOS攻击

    我计划使用 MVC4 和 Web APi 开发一个网站 它是一个简单的应用程序 将根据搜索显示客户信息 对于搜索功能 我使用 Ajax get 方法调用 webApi 我知道我应该使用 Post 但考虑这是当前的实现 我的 API 调用是
  • JOIN ON 子句中的 T-SQL Case 语句

    我正在尝试在 a 中构建一个 case if 语句JOIN ON clause LEFT JOIN CTSTRC Statuses ON RIGHT Statuses STRID 3 CTE F61 问题是该列 Statuses STRID
  • PHP dirname 返回符号链接路径

    假设我有一个符号链接 one directory to two directory If I echo dirname dirname FILE 它返回 one directory 最好的退货方式是什么 two directory 用法示例
  • 不使用 nightly 时如何忽略基准测试?

    我有一个包含一些基准测试和测试的文件 想针对稳定版 测试版和夜间版进行测试 然而 要么我不使用基准测试 要么稳定 测试版抱怨 使用 stable beta 时有没有办法隐藏所有基准部分 作为示例 以下代码来自book feature tes
  • 如何在 Windows 上从 pygraphviz 运行 neato

    我正在尝试在 python v 2 7 中使用 pygraphviz 和 networkx 来创建网络映射 我在 stackoverflow 上发现了一个看起来非常有用的脚本 import networkx as nx import num
  • GDB TUI - 输出未对齐

    我在ubuntu上使用gdb 7 7 1 GNU gdb Ubuntu 7 7 1 0ubuntu5 14 04 2 7 7 1 我的终端是 Konsole 2 13 2 我遇到的问题是 当我进入 TUI 模式时 在一两个调试器会话之后 会
  • 设置请求持续时间的全局变量

    我可以为单个请求的长度设置某种全局变量 以便页面的所有控件都可以响应它 而不必将其传递给每个控件吗 例如 如果有人点击我的 MasterPage 上的 保存 按钮 我是否可以设置一些内容 以便我的页面上的每个 UserControl 都可以
  • Future.wait() 不能在没有纤程的情况下等待(在 Meteor.method 中等待另一个 future 时)

    In Meteor 我正在编写一个方法 该方法必须检查某个路径的子目录中是否有新文件 我首先想列出其中的子目录Meteor之后我child process exec一个简单的 bash 脚本 列出自上次执行以来添加的文件 我在使目录发现异步
  • 使用 O 表示法在 for 循环中对 LinkedList 调用 get() 的复杂性

    我有一个 uni 实用程序 可以使用 O 表示法确定一小部分代码的复杂性 代码是 for int i 0 i lt list size i System out println list get i 所讨论的列表是一个链接列表 对于我们的实
  • 如何破译 C 中复杂的指针声明?

    所以我想举个例子 int pi pi is a pointer that points to an integer const int cpi cpi is a pointer that points to a constant integ
  • Excel - 如何转换 UTC 日期时间

    我想在Excel中使用这个字符串作为日期时间 2016 04 06T18 05 32 6550717 03 00 怎样才能转换呢 日期 时间中有两件事引起了问题 第一个是T这表示时间的开始 Excel 使用空格 第二个是右侧的所有内容 如果
  • TestNG 中测试的执行顺序

    如何自定义TestNG中测试的执行顺序 例如 public class Test1 Test public void test1 System out println test1 Test public void test2 System
  • 如果“z”中有“x”和“y”:

    我正在用 python 编写一个问答脚本 它获取 raw input 并将其设置为 theQuestion 我试过if var1 and var2 in theQuestion 但它会查找其中一个字符串 而不是同时查找两个字符串 有没有一种
  • 使用 LongListSelector 连续分页

    当我的 LongListSelector 滚动到底部时 我想自动从 Web 服务加载更多数据 就像商店应用程序一样 我的问题是我找不到任何事件来触发加载更多操作 Microsoft 的建议是使用 LongListSelector ItemR
  • 如何在 Ionic 2 中的选择组件内使用图像

    我正在尝试将图像放入SelectIonic 2 中的组件 我已将图像源文件放入www img我的 Ionic 2 项目中的文件夹 然而 使用一个简单的img tag 使用此代码不显示任何图像
  • goto 可以打破嵌套循环吗?

    JavaScript 支持类似于 goto 的语法来打破嵌套循环 总的来说 这不是一个好主意 但它被认为是可以接受的做法 C 不直接支持break labelName语法 但它确实支持臭名昭著的goto 我相信 C 中可以实现等效的功能 i
  • 如何将 tqdm 与多线程结合使用?

    我试图使用 tqdm 报告从三个链接下载每个文件的进度 我想使用多线程从每个链接同时下载 同时更新进度条 但是当我执行脚本时 有多行进度条 似乎线程正在同时更新 tqdm 进度条 我问我应该如何运行多线程来下载文件 同时保持每次下载的进度条
  • Java - 全名正则表达式

    如何验证全名的正则表达式 我只想要字母 没有数字 和正则表达式的空格 这就是我到目前为止所做的 你能帮我修复正则表达式吗 非常感谢 public static boolean isFullname String str boolean is