验证用户名的正则表达式

2023-12-07

我正在尝试创建一个正则表达式来根据这些条件验证用户名:

  1. 仅包含字母数字人物,下划线 and dot.
  2. 下划线和点不能位于end or start用户名(例如_username / username_ / .username / username.).
  3. 下划线和点不能是彼此相邻 (e.g user_.name).
  4. 下划线或点不能多次使用in a row (e.g user__name / user..name).
  5. 字符数必须在 8 到 20 之间。

这就是我到目前为止所做的;听起来它强制执行所有标准规则但第五条规则。我不知道如何添加第五条规则:

 ^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$

^(?=.{8,20}$)(?![_.])(?!.*[_.]{2})[a-zA-Z0-9._]+(?<![_.])$
 └─────┬────┘└───┬──┘└─────┬─────┘└─────┬─────┘ └───┬───┘
       │         │         │            │           no _ or . at the end
       │         │         │            │
       │         │         │            allowed characters
       │         │         │
       │         │         no __ or _. or ._ or .. inside
       │         │
       │         no _ or . at the beginning
       │
       username is 8-20 characters long

如果您的浏览器由于缺乏反向后向支持而引发错误,请使用以下替代模式:

^(?=[a-zA-Z0-9._]{8,20}$)(?!.*[_.]{2})[^_.].*[^_.]$
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

验证用户名的正则表达式 的相关文章

  • 使用 json_encode() 函数在 PHP 数组中生成 JSON 键值对

    我正在尝试以特定语法获取 JSON 输出 这是我的代码 ss array 1 jpg 2 jpg dates array eu gt 59 99 us gt 39 99 array1 array name gt game1 publishe
  • 计算日期之间的天数差异

    在我的代码中 日期之间的差异是错误的 因为它应该是 38 天而不是 8 天 我该如何修复 package random04diferencadata import java text ParseException import java t
  • JavaScript 中数组的 HTML 数据列表值

    我有一个简单的程序 它必须从服务器上的文本文件中获取值 然后将数据列表填充为输入文本字段中的选择 为此 我想要采取的第一步是我想知道如何动态地将 JavaScript 数组用作数据列表选项 我的代码是
  • PHP 中的引用

    我正在编写一个自定义博客引擎 并且希望拥有类似于 Wordpress 的引用 我可以查看 WordPress 源代码 但我真的更喜欢某种教程 但到目前为止我还没有找到 有没有关于在 PHP5 中实现 trackbacks 或 pingbac
  • 如何将 Smarty 3 包含到 Laravel 4 中?

    我是 Laravel 的新手 所以仍在习惯这些概念 但是我有大约 10 年的使用 Smarty 的经验 所以我希望利用这一点 除了事实上 Blade 似乎缺乏太多我发现有用且在 Smarty 中开箱即用的功能 但无论如何除了这个问题的要点之
  • 如何删除文件

    我们有一个脚本 scripts ourscript php和一个文件 media movie1 flv 当我们运行时 我们如何删除这个文件ourscript php Using unlink http php net manual en f
  • 在 Spring Boot Actuator 健康检查 API 中启用日志记录

    我正在使用 Spring boot Actuator APIproject https imobilenumbertracker com 拥有一个健康检查端点 并通过以下方式启用它 management endpoints web base
  • Dispatcher-servlet 无法映射到 websocket 请求

    我正在开发一个以Spring为主要框架的Java web应用程序 特别使用Spring core Spring mvc Spring security Spring data Spring websocket 像这样在 Spring 上下文
  • 折叠具有多个字段的行

    我有这个代码 awk seen 1 2 a 1 a 1 a 1 t 2 END for i in a print i a i inputfile 我想折叠具有两个以上字段的行 但始终基于第一个字段作为索引 输入文件 三列制表符分隔 prot
  • 将图像添加到自定义 AlertDialog

    我制作了一个 AlertDialog 让用户可以从我显示的 4 个选项中选择一个 前 3 个让他们在单击号码时直接拨打号码 第 4 个显示不同的视图 现在看起来是这样的 由于第四个选项的目的是不同的任务 我想让它看起来不同 因为用户可能会感
  • JVM:是否可以操作帧堆栈?

    假设我需要执行N同一线程中的任务 这些任务有时可能需要来自外部存储的一些值 我事先不知道哪个任务可能需要这样的值以及何时 获取速度要快得多M价值观是一次性的而不是相同的M值在M查询外部存储 注意我不能指望任务本身进行合作 它们只不过是 ja
  • 反向引用在 PHP 中不起作用

    最近我一直在研究 更多的是在实践中说实话 正则表达式 我注意到他的力量 我提出的这个要求 link https stackoverflow com questions 30380397 take the text up to a speci
  • Java的-XX:+UseMembar参数是什么

    我在各种地方 论坛等 看到这个参数 并且常见的答案是它有助于高并发服务器 尽管如此 我还是找不到 sun 的官方文档来解释它的作用 另外 它是Java 6中添加的还是Java 5中存在的 顺便说一句 许多热点虚拟机参数的好地方是这一页 ht
  • Oracle REGEXP_INSTR() 和“a-z”字符范围与预期不匹配

    我想用REGEXP INSTR 在 oracle 数据库中检查小写 大写字符 我知道 upper and lower POSIX 字符类 但我选择了a z这给了我非常奇怪的结果 我不明白 有人可以解释一下吗 SELECT REGEXP IN
  • Stream_context_set_params 不适用于 ssh2.sftp 包装器

    我想使用类似的功能here http www php net manual en function stream notification callback php 请检查以下代码 function notify notification
  • Hibernate 和可序列化实体

    有谁知道是否有一个框架能够从实体类中剥离 Hibernate 集合以使它们可序列化 我查看了 BeanLib 但它似乎只进行实体的深层复制 而不允许我为实体类中的集合类型指定实现映射 BeanLib 目前不适用于 Hibernate 3 5
  • 如何在 javascript 正则表达式中匹配平衡分隔符?

    我原以为这个问题是不可能的 据我所知 Javascript 的正则表达式既没有递归插值 也没有漂亮的 NET 平衡组功能 但问题就在那里 如问题 12 所示正则表达式 alf nu http regex alf nu 匹配平衡对 lt an
  • 如何在 gulp.src 中使用基本正则表达式?

    我正在尝试选择两个文件gulp src highcharts js and highcharts src js 当然 我知道我可以使用数组表达式显式添加这两个表达式 但出于学习目的 我尝试为它们编写一个表达式 我读过可以使用简单的正则表达式
  • Java &= 运算符应用 & 或 && 吗?

    Assuming boolean a false 我想知道是否这样做 a b 相当于 a a b logical AND a is false hence b is not evaluated 或者另一方面 这意味着 a a b Bitwi
  • 如何使用 php 将 *.xlsb 转换为数组或 *.csv

    我正在尝试转换 xlsb文件到php array or csv文件 或至少 xls 我尝试使用PHPExcel 但看起来它无法识别该文件中的内容 我注意到 你可以重命名 xlsb文件到 zip文件 然后使用命令行解压缩unzip zip 之

随机推荐

  • 尝试构建正则表达式来检查模式

    a 以数字开头和结尾b 连字符应以数字开头和结尾c 逗号应以数字开头和结尾d 数字范围应为 1 31 编辑 在正则表达式中需要这条规则 谢谢 Ed Heal e 如果数字以连字符 开头 则不能以逗号以外的任何其他字符结尾 并且遵循上面列出的
  • 是否可以在堆栈上创建类的实例?

    我知道在 C 中你可以在堆栈上创建类的实例 例如 MyClass mc MyClass 8 2 或者像在堆上 MyClass mc new MyClass 8 2 你能在 C 中做同样的事情吗 我在 C 中创建类的唯一方法是newing i
  • 使用 R 从 API 中提取数据

    我可以访问 azure 中的一些遥测数据 特别是使用移动应用程序的客户的所有 API 调用 我已经使用 R 中的 httr 包来请求 3 分钟内的数据 并像这样评估响应 显然有我自己的应用程序 ID 和密钥 下面我没有包含 install
  • MySQL INNER JOIN 仅从第二个表中选择一行

    我有一个users表和一个payments表中 对于每个有付款的用户 在表中可能有多个关联的付款payments桌子 我想选择所有有付款的用户 但只选择他们最新的付款 我正在尝试这个 SQL 但我以前从未尝试过嵌套 SQL 语句 所以我想知
  • 如何获取另一个jar中的资源

    我有一个嵌入在捆绑包中的 jar 需要获取与其打包的资源 如下所示 MyBundle src lib MyEmbeddedJar src SomeClass someResource xml 我正在尝试从 SomeClass 访问 some
  • 使用 Macports 偷偷修补源代码

    几乎自从我使用 vim 并了解了足够多的 C 语言以来 我就自定义了已安装的 vim 以删除令我烦恼的 功能 当我改用带有 macports 的 Mac 时 我通过卸载以前的任何 vim 端口 获取源代码 手动编辑源代码 然后让 Macpo
  • Typescript 部分类型推断

    我对此感到困惑 无法弄清楚如何在没有第二个功能的情况下做到这一点 interface Fixed a number const fn
  • Rust HRTB 是相同的,但编译器表示一种类型比另一种更通用

    The 以下代码是完整的类型注释 fn enter lt a F R gt x a i32 func F gt R where F for lt b gt FnOnce b i32 gt R func x fn identity lt a
  • 访问类型声明对释放的影响

    在这两种情况下 在声明块之后 当然是在过程结束之前 是否以相同的方式释放内存 procedure allocation is type T Integer Access is access Integer begin declare P T
  • 如何将 HTML 内容设置到 iframe 中

    我有一个 HTML 字符串 Hello world 我想用 JavaScript 将其设置为 iframe 我试图像这样设置 HTML contentWindow document body innerHTML or contentDocu
  • 变量+=值和变量=变量+值之间的区别;

    例如 int a 10 a 1 5 这运行得很完美 但是 a a 1 5 这个作业说Type mismatch cannot convert from double to int 所以我的问题是 有什么区别 operator and ope
  • 无法加载现代控件 UI。升级到最新版本的 Android YouTube API

    我正在尝试使用Android Youtube API 一切正常 除了当我扩展时AppCompatActivity YoutubePlayer 的 UI 看起来很糟糕 我都尝试过YoutubePlayerFragment and Youtub
  • GIT - 如何合并分支?

    我们决定在公司使用 GIT 但现在遇到了问题 我们有多个分行 各具特色 现在我们需要的是合并这些分支并将其推送到 Master 我们如何使用自动替换来做到这一点 我们有分支 a 分支 b 分支 c 我们需要将它们全部放入主文件中 但如果出现
  • Java - 循环二维数组来查找不起作用的值的索引

    我知道我在这段代码中的某个地方犯了错误 但我无法弄清楚 玩家1 getId 返回值 1 只是为了让您知道 我正在尝试打印值为 1 的数组的索引 在代码末尾 我预计 currentX 为 0 currentY 为 0 但它们都是 9 任何帮助
  • Cx_Freeze 构建不包括 zip 文件中的 python 库

    我在使用 cx Freeze 5 0 时遇到了麻烦 我正在尝试 Windows 10 LTSB x64 Python 3 4 4 x86 PyQt5 PyWin32 x86 在我重新安装 Windows 10 之前 这个过程从未遇到过任何问
  • 无法在我的 Windows 10 上安装“Turicreate”

    我是 Python 新手 我正在尝试按照教程构建推荐引擎 教程要求我安装 turicreate 我在 Anaconda 上运行 Spyder 3 3 0 Python 版本 3 5 我尝试过的 我从各种 SO 问题以及 github 中寻求
  • 如何监控特定应用程序的网络带宽使用情况?

    我正在尝试学习如何监视特定应用程序的网络带宽使用情况 我正在看IPv4InterfaceStatistics 但这似乎是监视网卡的性能 我想监视特定应用程序以查看每秒消耗多少带宽 有谁知道如何做到这一点的例子 using System us
  • 如何为 R igraph 中的某些边分配边权重

    我想为最短路径中使用的某些边分配一个小的非负边权重 这是一个示例图 library igraph data lt read table text 1 2 1 4 1 5 2 3 2 4 3 4 5 7 5 8 3 6 header FALS
  • 如何在 pl/pgsql 中获取 foreach 中的当前键?

    我迭代一个数组 并对数组值及其键执行一些操作 从PostgreSQL 9 1开始有了foreach循环 所以数组值没有问题 但是有什么优雅的方法来获取key吗 我发现的唯一解决方案是为此维护额外的变量 CREATE OR REPLACE F
  • 验证用户名的正则表达式

    我正在尝试创建一个正则表达式来根据这些条件验证用户名 仅包含字母数字人物 下划线 and dot 下划线和点不能位于end or start用户名 例如 username username username username 下划线和点不能